Function at 0x403220
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push edi
push esi
sub esp, 0x590
mov eax, 0x8e2b603a
mov ecx, dword [0x497db0]
or ecx, 0xd00062
mov dword [0x497db0], ecx
lea ecx, [esp + 0x550]
mov dword [esp + 0x10c], eax
call fcn.0043fbb0
mov ecx, dword [0x49d5b8]
mov edx, dword [0x49706c]
imul ecx, edx
inc edx
mov dword [0x49706c], edx
imul ecx, ecx, 0xfcea91cd
mov edx, dword [0x495724]
xor edx, ecx
mov dword [0x495724], edx
mov si, word [0x4a536c]
mov cx, si
inc ecx
mov si, cx
mov word [0x4a536c], si
movsx ecx, si
mov edx, dword [esp + 0x10c]
cmp edx, ecx
mov dword [esp + 0x108], eax
jne 0x4032c2
mov ax, word [0x4a78f2]
mov cx, ax
xor ecx, 0xaafa
mov ax, cx
mov word [0x4a78f2], ax
mov eax, 0xf335c4c2
mov ecx, dword [0x497988]
add ecx, 0x3bc569ea
mov dword [0x497988], ecx
mov ecx, dword [0x49c88c]
and ecx, 0xb442bda2
mov edx, dword [0x49d980]
or edx, ecx
mov dword [0x49d980], edx
mov dword [esp + 0x110], 0
mov si, word [0x4a6bd4]
mov cx, si
inc ecx
mov si, cx
mov word [0x4a6bd4], si
movsx ecx, si
add ecx, 0x1ffc5779
cmp eax, ecx
jle 0x40333c
mov ax, word [0x4a9026]
mov cx, ax
add ecx, 0x3d79fedf
mov ax, cx
mov word [0x4a9026], ax
mov eax, 0xe4b30646
mov dword [0x4aa5c4], 0x94
mov ecx, dword [0x49c8dc]
and ecx, 0x6b6f65c1
mov dword [0x49c8dc], ecx
mov ecx, dword [0x48e940]
mov edx, esp
mov dword [edx], 0x4aa5c4
mov dword [esp + 0x104], eax
call ecx
sub esp, 4
mov ecx, dword [0x4a0a14]
or ecx, 0xf8d527f3
and ecx, 0xfcf7a7f3
mov edx, dword [0x493e7c]
imul edx, ecx
mov dword [0x493e7c], edx
mov dword [esp + 0x100], eax
call fcn.00402ec0
mov dword [0x4aae88], eax
mov eax, dword [0x497e00]
add eax, eax
and eax, 0x5004
mov si, ax
mov word [0x4a6b2a], si
call fcn.0043eeb0
mov dword [0x4aae8c], eax
mov eax, dword [0x493468]
sar eax, 7
imul eax, eax, 0xc0cd2d2e
or eax, 0x63bb9382
mov ecx, dword [esp + 0x104]
cmp ecx, eax
jl 0x4033fa
mov eax, dword [0x49c69c]
and eax, 0x21b5e0b0
mov dword [0x49c69c], eax
mov eax, dword [0x4aae88]
cmp eax, 0
je 0x40365d
mov eax, 0x6627a993
mov ecx, dword [0x48fdec]
and ecx, 0x1415f3e0
mov dword [0x48fdec], ecx
mov ecx, esp
lea edx, [esp + 0x123]
mov dword [ecx], edx
mov dword [esp + 0xfc], eax
mov dword [esp + 0xf8], edx
call fcn.0042bcf0
mov dword [esp + 0x11c], eax
mov eax, dword [0x493bb4]
or eax, 0x794b0805
mov dword [0x493bb4], eax
mov eax, dword [esp + 0x11c]
mov byte [esp + eax + 0x123], 0x5c
mov eax, dword [0x49f5c0]
add eax, 0x48e93d64
mov dword [0x49f5c0], eax
mov eax, dword [esp + 0x11c]
inc eax
mov dword [esp + 0x11c], eax
mov eax, dword [0x49b2d0]
imul eax, eax, 0xf5509828
add eax, 0x720e36a7
mov dword [0x48f62c], eax
mov eax, dword [esp + 0x11c]
mov byte [esp + eax + 0x123], 0
mov si, word [0x4a1ebe]
mov ax, si
and eax, 0xf601
mov si, word [0x4a65b8]
mov cx, si
sub ecx, eax
mov si, cx
mov word [0x4a65b8], si
mov eax, dword [0x4aaec8]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xf8]
mov dword [ecx], eax
call fcn.00455230
mov ecx, dword [0x4935a0]
imul ecx, ecx, 0xd1fc24c7
mov edx, dword [0x493f38]
xor edx, ecx
mov dword [0x493f38], edx
mov ecx, dword [0x48e988]
mov edx, esp
mov edi, dword [esp + 0xf8]
mov dword [edx], edi
mov dword [edx + 4], 0
mov dword [esp + 0xf4], eax
call ecx
sub esp, 8
mov ecx, dword [0x495044]
xor ecx, 0xffffffff
mov edx, dword [esp + 0xfc]
cmp edx, ecx
mov dword [esp + 0xf0], eax
jg 0x403564
mov eax, dword [0x490ffc]
dec eax
mov dword [0x490ffc], eax
mov cx, word [0x4a633a]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x4a633a], cx
jmp 0x40357c
mov eax, dword [0x4a07f0]
add eax, 0x6475c4c3
mov ecx, dword [0x49ee08]
and ecx, eax
mov dword [0x49ee08], ecx
mov eax, esp
mov dword [eax + 4], 0x1f
mov dword [eax], 0x428d
call fcn.00430db0
mov dword [esp + 0x58c], eax
mov word [0x4a77aa], 0x7be3
mov eax, dword [esp + 0x58c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x123]
mov dword [ecx], eax
call fcn.00455230
mov dword [0x494b24], 0x284340a
mov ecx, dword [esp + 0x58c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xec], eax
call fcn.00404f30
mov eax, dword [0x49f5ec]
dec eax
mov dword [0x49f5ec], eax
cmp eax, 0x1fdb48fa
jl 0x40362f
mov eax, 0x8b435a3e
mov cx, word [0x4a2bf8]
movsx edx, cx
shl edx, 0xa
cmp eax, edx
je 0x40362a
mov ax, word [0x4a6b34]
mov cx, ax
add ecx, 0x93371c4c
mov ax, cx
mov word [0x4a6b34], ax
jmp 0x403658
mov eax, dword [0x491708]
mov ecx, eax
inc ecx
mov dword [0x491708], ecx
mov dx, word [0x4a80be]
mov cx, dx
lea eax, [eax + ecx + 0x61269215]
mov dx, ax
mov word [0x4a80be], dx
jmp 0x4036b2
mov eax, dword [0x495de8]
or eax, 0x9d67d825
mov dword [0x495de8], eax
mov byte [esp + 0x123], 0
mov cx, word [0x4a5d92]
movsx eax, cx
shl eax, 2
mov edx, 0xf1e7b816
sub edx, eax
and edx, 0x179bc25f
mov eax, dword [0x48f3b4]
sar eax, 0xa
cmp edx, eax
jl 0x4036ad
mov eax, dword [0x490460]
add eax, 0x92b356d8
mov dword [0x490460], eax
jmp 0x4036b2
lea eax, [esp + 0x550]
lea ecx, [esp + 0x123]
mov dx, word [0x4a7852]
mov si, dx
inc esi
mov dx, si
mov word [0x4a7852], dx
movsx esi, dx
imul esi, esi, 0x60937ca3
and esi, 0x596f7af8
mov dword [0x495e84], esi
mov esi, esp
mov dword [esi + 4], 0x1f
mov dword [esi], 0x18cb
mov dword [esp + 0xe8], eax
mov dword [esp + 0xe4], ecx
call fcn.00430db0
mov dword [esp + 0x588], eax
mov eax, dword [0x494f10]
and eax, 0x8fd3cea
mov dword [0x494f10], eax
mov eax, dword [esp + 0x588]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x550]
call fcn.00445f20
sub esp, 4
mov ecx, dword [0x49816c]
mov esi, ecx
inc esi
mov dword [0x49816c], esi
mov dword [0x49cef4], ecx
mov ecx, dword [esp + 0x588]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x1f
mov dword [esp + 0xe0], eax
call fcn.00404f30
mov word [0x4a5926], 0x783a
mov eax, dword [esp + 0xe8]
mov ecx, eax
call fcn.00430d50
lea ecx, [esp + 0x550]
mov dword [esp + 0xdc], eax
call fcn.0041cb40
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0xd8], ecx
call fcn.00432440
cmp eax, 0
je 0x4038ae
mov eax, 0xf775fdff
mov ecx, dword [0x492884]
or ecx, 0xffe0e80a
mov edx, dword [0x4903d8]
add edx, ecx
mov dword [0x4903d8], edx
mov dword [esp + 0x110], 1
mov ecx, dword [0x49085c]
cmp eax, ecx
jl 0x40381c
mov eax, dword [0x4939bc]
imul eax, eax, 0xa7ab55ea
mov dword [0x4939bc], eax
mov eax, dword [0x48e914]
mov ecx, esp
lea edx, [esp + 0x123]
mov dword [ecx], edx
mov dword [esp + 0xd4], edx
call eax
sub esp, 4
mov si, word [0x4a992e]
mov cx, si
imul ecx, ecx, 0x4dcc65e9
mov si, cx
mov word [0x4a992e], si
mov ecx, dword [esp + 0x11c]
mov byte [esp + ecx + 0x123], 0
mov ecx, dword [0x497264]
add ecx, 0x1b677975
mov dword [0x497264], ecx
mov ecx, dword [0x48e98c]
mov edx, esp
mov edi, dword [esp + 0xd4]
mov dword [edx], edi
mov dword [esp + 0xd0], eax
call ecx
sub esp, 4
mov ecx, dword [0x498f70]
shl ecx, 8
mov edx, dword [0x498008]
sub edx, ecx
mov dword [0x498008], edx
mov dword [esp + 0xcc], eax
mov eax, dword [0x49bf60]
xor eax, 0xc548943d
mov dword [0x49bf60], eax
mov eax, esp
lea ecx, [esp + 0x123]
mov dword [eax], ecx
call fcn.0042bcf0
mov ecx, dword [0x49caa0]
dec ecx
mov dword [0x49caa0], ecx
cmp ecx, 0xe65fe07f
mov dword [esp + 0xc8], eax
jl 0x40390d
mov ax, word [0x4a4ec2]
movsx ecx, ax
sar ecx, 6
and ecx, 0x200ab0af
mov edx, dword [0x4909a4]
sub edx, ecx
mov dword [0x4909a4], edx
mov byte [esp + 0x126], 0
mov eax, dword [0x495e50]
add eax, 0x9cd11449
mov dword [0x495e50], eax
mov eax, dword [0x4aaec8]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x123]
mov dword [ecx], eax
call fcn.00455230
mov ecx, dword [0x49bbd0]
mov edx, ecx
inc edx
mov dword [0x49bbd0], edx
mov edx, dword [0x498e28]
imul edx, edx, 0x9ed65663
xor ecx, edx
cmp ecx, 0xbdd1b87
mov dword [esp + 0xc4], eax
jl 0x4039d0
mov eax, dword [0x492aa8]
shl eax, 7
add eax, 0xf1dfb268
mov ecx, dword [0x4982ec]
cmp eax, ecx
je 0x403996
mov dword [0x492770], 0x4983f7d0
jmp 0x4039cb
mov eax, 0xdbcace2b
mov cx, word [0x4a3410]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4a3410], cx
movsx edx, cx
imul edx, edx, 0xb038d25b
cmp eax, edx
jle 0x4039c6
jmp 0x4039c6
jmp 0x4039cb
jmp 0x4039d0
mov eax, dword [0x48e988]
mov ecx, esp
lea edx, [esp + 0x123]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov dword [esp + 0xc0], edx
call eax
sub esp, 8
mov ecx, dword [0x496df4]
dec ecx
mov dword [0x496df4], ecx
xor ecx, 0x7105
mov si, word [0x4a486e]
mov dx, si
imul edx, ecx
mov si, dx
mov word [0x4a486e], si
mov ecx, esp
mov edx, dword [esp + 0xc0]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4aa7ac
mov dword [esp + 0xbc], eax
call fcn.00455220
mov ecx, dword [0x49d844]
imul ecx, ecx, 0x18434920
mov dword [0x49d844], ecx
cmp dword [esp + 0x110], 0
mov dword [esp + 0xb8], eax
jne 0x403a94
mov eax, dword [0x497940]
add eax, 0xc3984a56
mov dword [0x497940], eax
mov dword [0x4aae84], 0
mov cx, word [0x4a5b7c]
mov ax, cx
add eax, 0x412f8343
mov cx, ax
mov word [0x4a5b7c], cx
mov eax, dword [0x4902d0]
xor eax, 0xa3779d32
mov dword [0x4902d0], eax
mov eax, esp
lea ecx, [esp + 0x123]
mov dword [eax], ecx
mov dword [esp + 0xb4], ecx
call fcn.0044d030
mov dword [esp + 0x11c], eax
mov eax, dword [0x498a2c]
xor eax, 0x38e71462
mov dword [0x498a2c], eax
mov eax, dword [0x48e988]
mov ecx, esp
mov edx, dword [esp + 0xb4]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov si, word [0x4a7030]
mov cx, si
mov edx, ecx
dec edx
mov si, dx
mov word [0x4a7030], si
add ecx, 0xdacbafe9
xor ecx, 0xbfb8
mov si, word [0x4a4398]
mov dx, si
sub edx, ecx
mov si, dx
mov word [0x4a4398], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x428d
mov dword [esp + 0xb0], eax
call fcn.00430db0
mov dword [esp + 0x584], eax
mov eax, dword [0x49aea8]
or eax, 0x25001401
mov dword [0x49aea8], eax
mov eax, dword [esp + 0x584]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xb4]
mov dword [ecx], eax
call fcn.00455230
mov ecx, dword [0x490b64]
xor ecx, 0x93cc9838
mov dword [0x490b64], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x18cb
mov dword [esp + 0xac], eax
call fcn.00430db0
mov dword [esp + 0x580], eax
mov word [0x4a327c], 0x7086
mov eax, dword [esp + 0x584]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00404f30
mov si, word [0x4aa45c]
movsx eax, si
cmp eax, 0x6785421
jl 0x403bed
mov eax, dword [0x48f928]
or eax, 0x28fb73c7
mov dword [0x48f928], eax
jmp 0x403c08
mov eax, dword [0x4940d4]
inc eax
mov dword [0x4940d4], eax
imul eax, eax, 0xa203529
xor eax, 0xb7c91676
mov dword [0x493740], eax
lea eax, [esp + 0x550]
lea ecx, [esp + 0x123]
mov edx, dword [esp + 0x580]
mov esi, esp
mov dword [esi], edx
lea edx, [esp + 0x550]
mov dword [esp + 0xa8], ecx
mov ecx, edx
mov dword [esp + 0xa4], eax
call fcn.00445f20
sub esp, 4
mov ecx, dword [0x49d4b8]
dec ecx
mov dword [0x49d4b8], ecx
or ecx, 0x3822
mov di, word [0x4a297a]
mov dx, di
xor edx, ecx
mov di, dx
mov word [0x4a297a], di
mov ecx, dword [esp + 0x580]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xa0], eax
call fcn.00404f30
mov eax, dword [0x494470]
dec eax
mov dword [0x494470], eax
imul eax, eax, 0x9bc0c2f1
add eax, 0xc4b597cf
mov dword [0x49efe8], eax
mov eax, dword [esp + 0xa4]
mov ecx, eax
call fcn.00430d50
lea ecx, [esp + 0x550]
mov dword [esp + 0x9c], eax
call fcn.0041cb40
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0x98], ecx
call fcn.00432440
cmp eax, 0
jne 0x4048a9
mov eax, dword [0x497b1c]
dec eax
mov dword [0x497b1c], eax
xor eax, 0xa3a1581e
cmp eax, 0xd6388835
jge 0x403d2d
mov eax, dword [0x49fd90]
add eax, 0x7efdfd0d
mov dword [0x49fd90], eax
jmp 0x403d37
mov dword [0x49c4b0], 0x973afb2d
cmp dword [0x4aa5c8], 6
jb 0x403e24
mov eax, dword [0x49aa70]
mov ecx, dword [0x49f138]
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0xaf73f5ea
je 0x403d77
mov ax, word [0x4a8b8e]
mov cx, ax
or ecx, 0xb2b1
mov ax, cx
mov word [0x4a8b8e], ax
mov eax, esp
mov dword [eax + 4], 0x12
mov dword [eax], 0x1067
call fcn.00430db0
mov dword [esp + 0x57c], eax
mov eax, dword [0x4903cc]
mov ecx, dword [0x498bcc]
mov edx, ecx
inc edx
mov dword [0x498bcc], edx
imul eax, ecx
or eax, 0xcc3d7ec6
mov ecx, dword [0x4a0d80]
and ecx, eax
mov dword [0x4a0d80], ecx
mov eax, dword [esp + 0x57c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x123]
mov dword [ecx], eax
mov dword [ecx + 8], 0x4aa658
call fcn.00455952
mov ecx, dword [0x4972a0]
mov edx, dword [0x490970]
and ecx, edx
xor ecx, 0x2d9b6988
mov dword [0x497bb4], ecx
mov ecx, dword [esp + 0x57c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x12
mov dword [esp + 0x94], eax
call fcn.00404f30
mov dword [0x49b464], 0x9379a149
jmp 0x403ec6
mov eax, dword [0x48f0c4]
xor eax, 0xb0ef2f7b
mov dword [0x48f0c4], eax
mov eax, esp
mov dword [eax + 4], 0x24
mov dword [eax], 0x2d11
call fcn.00430db0
mov dword [esp + 0x578], eax
mov cx, word [0x4a1f38]
movsx eax, cx
mov edx, dword [0x4955c4]
and edx, eax
mov dword [0x4955c4], edx
mov eax, dword [esp + 0x578]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x123]
mov dword [edx], eax
mov dword [edx + 8], 0x4aa658
call fcn.00455952
mov edx, dword [0x4979ec]
and edx, 0xa9489d4e
mov dword [0x4979ec], edx
mov edx, dword [esp + 0x578]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x24
mov dword [esp + 0x90], eax
call fcn.00404f30
mov eax, dword [0x495ca0]
xor eax, 0x7cf7ce7b
mov dword [0x495ca0], eax
mov eax, 0x2010
mov cx, word [0x4a56b0]
mov dx, cx
add edx, 0x57252104
mov cx, dx
mov word [0x4a56b0], cx
mov byte [esp + 0x54f], 0
mov edx, dword [0x48edc0]
and edx, 0xebc5e86e
mov dword [0x48edc0], edx
mov edx, dword [0x4aaec8]
mov esi, esp
mov dword [esi + 4], edx
lea edx, [esp + 0x123]
mov dword [esi], edx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], edx
call fcn.00455230
mov edx, dword [0x499268]
add edx, 0xd8f8c16b
mov cx, word [0x4a15fa]
mov si, cx
xor esi, edx
mov cx, si
mov word [0x4a15fa], cx
mov edx, dword [0x48e988]
mov esi, esp
mov edi, dword [esp + 0x88]
mov dword [esi], edi
mov dword [esi + 4], 0
mov dword [esp + 0x84], eax
call edx
sub esp, 8
mov edx, dword [0x4979a4]
and edx, 0x1fc761a
mov dword [0x4979a4], edx
mov edx, esp
mov esi, dword [esp + 0x88]
mov dword [edx + 4], esi
mov dword [edx], 0x4aa7ac
mov dword [esp + 0x80], eax
call fcn.00455220
mov edx, dword [0x49c004]
mov esi, dword [0x4991b0]
or esi, edx
mov dword [0x4991b0], esi
mov edx, esp
mov esi, dword [esp + 0x88]
mov dword [edx], esi
mov dword [esp + 0x7c], eax
call fcn.0044d030
mov dword [esp + 0x11c], eax
mov dword [0x49f420], 0x6104754b
mov eax, dword [0x48e988]
mov edx, esp
mov esi, dword [esp + 0x88]
mov dword [edx], esi
mov dword [edx + 4], 0
call eax
sub esp, 8
mov edx, dword [0x48ee30]
mov cx, word [0x4a4cbc]
mov si, cx
add edx, esi
mov esi, dword [0x4986d4]
or edx, esi
mov cx, word [0x4a9192]
mov si, cx
or esi, edx
mov cx, si
mov word [0x4a9192], cx
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x428d
mov dword [esp + 0x78], eax
call fcn.00430db0
mov dword [esp + 0x574], eax
mov eax, dword [0x48f354]
inc eax
mov dword [0x48f354], eax
xor eax, 0x91a00012
mov dword [0x48ea68], eax
mov eax, dword [esp + 0x574]
mov edx, esp
mov dword [edx + 4], eax
mov eax, dword [esp + 0x88]
mov dword [edx], eax
call fcn.00455230
mov cx, word [0x4a82e8]
movsx edx, cx
not edx
or edx, 0x9fe00fcc
mov esi, dword [0x49c0fc]
imul esi, edx
mov dword [0x49c0fc], esi
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x18cb
mov dword [esp + 0x74], eax
call fcn.00430db0
mov dword [esp + 0x570], eax
mov cx, word [0x4a4274]
mov ax, cx
and eax, 0x2ec5
mov cx, ax
mov word [0x4a4274], cx
mov eax, dword [esp + 0x574]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], 0x1f
call fcn.00404f30
mov eax, dword [0x49b2ac]
imul eax, eax, 0x757c9b97
xor eax, 0xc7ca
mov cx, word [0x4a8df4]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x4a8df4], cx
mov eax, dword [esp + 0x570]
mov edx, esp
mov dword [edx], eax
lea ecx, [esp + 0x550]
call fcn.00445f20
sub esp, 4
mov ecx, dword [0x48fc2c]
mov edx, dword [0x49d5e4]
and edx, ecx
mov dword [0x49d5e4], edx
mov ecx, dword [esp + 0x570]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x70], eax
call fcn.00404f30
mov eax, dword [0x49fa9c]
mov ecx, dword [esp + 0x8c]
cmp ecx, eax
jle 0x40417a
mov ax, word [0x4a1afc]
mov cx, ax
and ecx, 0x622c
mov ax, cx
mov word [0x4a1afc], ax
lea eax, [esp + 0x550]
lea ecx, [esp + 0x123]
mov dword [esp + 0x6c], ecx
mov ecx, eax
call fcn.00430d50
lea ecx, [esp + 0x550]
mov dword [esp + 0x68], eax
call fcn.0041cb40
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0x64], ecx
call fcn.00432440
cmp eax, 0
jne 0x404880
mov dword [0x490a50], 0x8e7073e2
mov eax, dword [0x48e930]
mov ecx, esp
lea edx, [esp + 0x123]
mov dword [ecx + 4], edx
mov dword [ecx], 0x104
mov dword [esp + 0x60], edx
call eax
sub esp, 8
mov ecx, dword [0x49d47c]
mov edx, ecx
inc edx
mov dword [0x49d47c], edx
imul ecx, ecx, 0x6202f84
and ecx, 0x90af59d4
mov edx, dword [0x49adb8]
add edx, ecx
mov dword [0x49adb8], edx
mov ecx, esp
mov edx, dword [esp + 0x60]
mov dword [ecx], edx
mov dword [esp + 0x5c], eax
call fcn.004520e0
mov dword [esp + 0x11c], eax
mov eax, dword [0x49764c]
mov si, word [0x4a8066]
movsx ecx, si
xor ecx, 0xffffffff
add eax, ecx
or eax, 0x2a5fe1b2
cmp eax, 0xf3b9ef42
je 0x40427c
mov eax, dword [0x49e8dc]
or eax, 0x432d2c41
mov ecx, dword [0x49d1ec]
add ecx, eax
mov dword [0x49d1ec], ecx
mov eax, dword [esp + 0x11c]
add eax, 0xfffffffe
mov dword [esp + 0x11c], eax
mov eax, dword [0x49e270]
xor eax, 0xc2a6a8cc
mov dword [0x49e270], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x118], eax
cmp dword [esp + 0x118], 0
jle 0x4043a8
mov dword [0x496774], 0x5dac7bff
mov eax, dword [esp + 0x118]
movsx eax, byte [esp + eax + 0x123]
cmp eax, 0x5c
jne 0x404362
mov dword [0x49d578], 0x77ffc73d
mov eax, dword [esp + 0x118]
inc eax
mov dword [esp + 0x118], eax
mov eax, dword [0x49e9a8]
mov ecx, dword [0x4a0694]
mov edx, ecx
inc edx
mov dword [0x4a0694], edx
imul eax, ecx
mov ecx, dword [0x49bdf8]
sub ecx, eax
mov dword [0x49bdf8], ecx
mov eax, dword [esp + 0x118]
mov byte [esp + eax + 0x123], 0
mov eax, dword [0x49d958]
and eax, 0x200d20
mov dword [0x49d958], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x11c], eax
mov eax, dword [0x48fac0]
imul eax, eax, 0x6f6b6437
mov ecx, dword [0x49f194]
sub ecx, eax
mov dword [0x49f194], ecx
jmp 0x4043a8
mov eax, 0x7ac1bc5c
mov ecx, dword [0x493554]
cmp eax, ecx
jge 0x40438d
mov ax, word [0x4a85fe]
mov cx, ax
imul ecx, ecx, 0x7f39f3fd
mov ax, cx
mov word [0x4a85fe], ax
jmp 0x404392
mov eax, dword [esp + 0x118]
add eax, 0xffffffff
mov dword [esp + 0x118], eax
jmp 0x4042aa
mov eax, dword [0x48ee18]
add eax, 0x4a94d895
or eax, 0x34542c49
cmp eax, 0x6db98d4e
jl 0x4043df
mov ax, word [0x4a8402]
mov cx, ax
imul ecx, ecx, 0xb0a6fe10
mov ax, cx
mov word [0x4a8402], ax
jmp 0x4043f7
mov ax, word [0x4a9c3c]
mov cx, ax
xor ecx, 0x4a90
mov ax, cx
mov word [0x4a9c3c], ax
mov eax, 0xadacddfd
mov ecx, esp
lea edx, [esp + 0x123]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4aa7ac
mov dword [esp + 0x58], eax
call fcn.00455220
mov ecx, dword [0x48f1bc]
mov si, word [0x4aa402]
movsx edx, si
add ecx, edx
mov si, word [0x4a9308]
mov dx, si
inc edx
mov di, dx
mov word [0x4a9308], di
movsx edx, si
add ecx, edx
mov edx, dword [esp + 0x58]
cmp edx, ecx
mov dword [esp + 0x54], eax
jl 0x40449a
mov eax, dword [0x49c180]
inc eax
mov dword [0x49c180], eax
and eax, 0xc476d7a4
cmp eax, 0x6650133a
jge 0x404495
mov eax, dword [0x48f2e0]
mov ecx, eax
dec ecx
mov dword [0x48f2e0], ecx
imul eax, eax, 0x8672ebf3
and eax, 0xf1a87c1b
mov ecx, dword [0x49d34c]
add ecx, eax
mov dword [0x49d34c], ecx
jmp 0x40449a
mov eax, esp
lea ecx, [esp + 0x123]
mov dword [eax], ecx
mov dword [esp + 0x50], ecx
call fcn.0044d030
mov dword [esp + 0x11c], eax
mov eax, dword [0x4977e4]
or eax, 0x80090080
mov dword [0x4977e4], eax
mov eax, dword [0x48e988]
mov ecx, esp
mov edx, dword [esp + 0x50]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x493600]
and ecx, 0x551390d0
mov dword [0x493600], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x428d
mov dword [esp + 0x4c], eax
call fcn.00430db0
mov dword [esp + 0x56c], eax
mov eax, dword [0x496a88]
mov ecx, eax
dec ecx
mov dword [0x496a88], ecx
xor eax, 0x2a61a845
mov ecx, dword [0x4977c4]
or ecx, eax
mov dword [0x4977c4], ecx
mov eax, dword [esp + 0x56c]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x50]
mov dword [ecx], eax
call fcn.00455230
mov si, word [0x4a3c9a]
mov cx, si
imul ecx, ecx, 0x7d09a1fc
mov si, cx
mov word [0x4a3c9a], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x18cb
mov dword [esp + 0x48], eax
call fcn.00430db0
mov dword [esp + 0x568], eax
mov si, word [0x4a374e]
movsx eax, si
add eax, 0xce7e568a
or eax, 0xe434d3ab
mov ecx, dword [0x49e3a8]
and ecx, 0xe7e27eae
xor ecx, 0x87e680e6
cmp eax, ecx
je 0x4045bc
mov eax, dword [0x48f000]
xor eax, 0x155c1c9f
mov dword [0x48f000], eax
mov eax, 0x98a829ab
mov ecx, dword [esp + 0x56c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x44], eax
call fcn.00404f30
mov eax, dword [0x49fff0]
dec eax
mov dword [0x49fff0], eax
mov si, word [0x4a665a]
mov cx, si
imul eax, ecx
imul eax, eax, 0x5f2ba1e2
mov si, ax
mov word [0x4a665a], si
mov eax, dword [esp + 0x568]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x550]
call fcn.00445f20
sub esp, 4
mov ecx, dword [0x49265c]
inc ecx
mov dword [0x49265c], ecx
and ecx, 0x3eefbfb4
or ecx, 0x8dc362ff
mov edx, dword [esp + 0x44]
cmp edx, ecx
mov dword [esp + 0x40], eax
jle 0x404692
mov eax, 0xddeffd7c
mov ecx, dword [0x49d0c4]
mov edx, ecx
dec edx
mov dword [0x49d0c4], edx
imul ecx, ecx, 0x77c78f06
add ecx, 0x9d7a605e
cmp eax, ecx
jg 0x40468d
mov ax, word [0x4a8610]
movsx ecx, ax
add ecx, 0x5eb6c640
mov edx, dword [0x4973dc]
imul edx, ecx
mov dword [0x4973dc], edx
jmp 0x404692
lea eax, [esp + 0x550]
lea ecx, [esp + 0x123]
mov edx, dword [esp + 0x568]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], ecx
call fcn.00404f30
mov eax, dword [0x4a0f18]
mov di, word [0x4a6740]
mov cx, di
or ecx, eax
mov di, cx
mov word [0x4a6740], di
mov eax, dword [esp + 0x3c]
mov ecx, eax
call fcn.00430d50
lea ecx, [esp + 0x550]
mov dword [esp + 0x34], eax
call fcn.0041cb40
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0x30], ecx
call fcn.00432440
cmp eax, 0
jne 0x40486b
mov eax, 0x72bcf8f
mov ecx, dword [0x498624]
inc ecx
mov dword [0x498624], ecx
mov edx, dword [0x4a00e4]
and edx, 0x50112733
xor ecx, edx
mov edx, dword [0x499c64]
imul edx, ecx
mov dword [0x499c64], edx
mov ecx, dword [0x48e930]
mov edx, esp
lea esi, [esp + 0x123]
mov dword [edx + 4], esi
mov dword [edx], 0x104
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], esi
call ecx
sub esp, 8
mov ecx, dword [0x49aff8]
add ecx, 0xa7c398ab
mov dword [0x49aff8], ecx
mov ecx, esp
mov edx, dword [esp + 0x28]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4aa7ac
mov dword [esp + 0x24], eax
call fcn.00455220
mov ecx, dword [0x498d3c]
xor ecx, 0xffffffff
mov edx, dword [esp + 0x2c]
cmp edx, ecx
mov dword [esp + 0x20], eax
je 0x4047d9
mov eax, dword [0x49cd00]
sar eax, 2
and eax, 0x922b581e
mov ecx, dword [0x4949b8]
xor ecx, eax
mov dword [0x4949b8], ecx
mov eax, esp
mov dword [eax + 4], 0x1f
mov dword [eax], 0x428d
call fcn.00430db0
mov dword [esp + 0x564], eax
mov eax, dword [0x49b07c]
add eax, 0xef1bced8
mov cx, word [0x4a8f44]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x4a8f44], cx
mov eax, dword [esp + 0x564]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x123]
mov dword [edx], eax
call fcn.00455230
mov word [0x4a3a0c], 0xdbc1
mov edx, dword [esp + 0x564]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0x1c], eax
call fcn.00404f30
mov cx, word [0x4a71dc]
mov ax, cx
or eax, 0xdc8f
mov cx, ax
mov word [0x4a71dc], cx
mov eax, dword [0x495788]
dec eax
mov dword [0x495788], eax
mov cx, ax
mov word [0x4a1d82], cx
mov eax, dword [0x49762c]
mov ecx, eax
inc ecx
mov dword [0x49762c], ecx
add eax, 0x79e636df
mov dx, word [0x4a56fe]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x4a56fe], dx
mov eax, dword [0x49c45c]
add eax, 0xa9c95821
mov dword [0x49c45c], eax
mov eax, esp
lea ecx, [esp + 0x123]
mov dword [eax], ecx
mov dword [esp + 0x18], ecx
call fcn.0044d030
mov dx, word [0x4a77da]
mov cx, dx
dec ecx
mov dx, cx
mov word [0x4a77da], dx
movsx ecx, dx
add ecx, 0x94c850b8
xor ecx, 0x9da3a0c1
mov esi, dword [0x49c204]
or esi, ecx
mov dword [0x49c204], esi
mov ecx, dword [0x48e93c]
mov esi, esp
mov edi, dword [esp + 0x18]
mov dword [esi], edi
mov dword [esi + 4], 2
mov dword [esp + 0x14], eax
call ecx
sub esp, 8
mov ecx, dword [0x490410]
add ecx, 0x4f22874a
mov dword [0x490410], ecx
mov ecx, esp
mov esi, dword [esp + 0x18]
mov dword [ecx], esi
mov dword [ecx + 4], 0x42d
mov dword [esp + 0x10], eax
call fcn.00417500
mov eax, dword [0x49d8c8]
imul eax, eax, 0xbc9f2cdd
mov dword [0x49d8c8], eax
lea ecx, [esp + 0x550]
call fcn.0044cf90
add esp, 0x590
pop esi
pop edi
ret