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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x570
mov eax, dword [0x48de88]
mov ecx, dword [0x493f38]
cmp eax, ecx
jne 0x4087d8
mov eax, dword [0x489e54]
mov ecx, 0x1f6f0d5a
sub ecx, eax
mov eax, dword [0x48c294]
xor eax, 0x420d443e
cmp ecx, eax
je 0x4087d3
mov word [0x480f0c], 0x72af
jmp 0x4087d8
mov eax, 0xd6e9629f
lea ecx, [esp + 0x530]
mov dword [esp + 0x118], eax
call fcn.00434d70
mov ecx, dword [0x48de94]
inc ecx
mov dword [0x48de94], ecx
mov edx, dword [0x4944e4]
mov esi, edx
dec esi
mov dword [0x4944e4], esi
mov esi, 0xe7b8ddd7
sub esi, edx
and ecx, esi
mov dword [0x490ad4], ecx
mov ecx, dword [0x48f908]
mov edx, dword [esp + 0x118]
cmp edx, ecx
mov dword [esp + 0x114], eax
jl 0x40885a
mov eax, dword [0x490b14]
shl eax, 4
add eax, 0xb34a0c8e
mov ecx, dword [0x49778c]
or eax, ecx
mov ecx, dword [0x48eb9c]
add ecx, eax
mov dword [0x48eb9c], ecx
mov eax, dword [0x49454c]
xor eax, 0xe60e7f61
mov dword [0x49454c], eax
mov cx, word [0x4870bc]
mov ax, cx
and eax, 0x9f50
mov cx, ax
mov word [0x4870bc], cx
mov dword [esp + 0x11c], 0
mov cx, word [0x487338]
mov ax, cx
dec eax
mov dx, ax
mov word [0x487338], dx
movsx eax, cx
or eax, 0x68518d4e
mov esi, dword [0x496364]
sub esi, eax
mov dword [0x496364], esi
mov dword [0x499598], 0x94
mov cx, word [0x480dae]
movsx eax, cx
and eax, 0x5595cb5a
mov esi, dword [0x499110]
sar esi, 0xa
or esi, 0x94687672
cmp eax, esi
jge 0x408900
mov ax, word [0x47fef4]
mov cx, ax
xor ecx, 0xff2f
mov ax, cx
mov word [0x47fef4], ax
mov eax, dword [0x47f720]
mov ecx, esp
mov dword [ecx], 0x499598
call eax
sub esp, 4
mov ecx, dword [0x48fec0]
or ecx, 0xf0c106c4
mov dword [0x48fec0], ecx
mov dword [esp + 0x110], eax
call fcn.00424420
mov dword [0x499dac], eax
mov eax, dword [0x492384]
add eax, 0x1797d49f
mov dword [0x492384], eax
call fcn.004322b0
mov dword [0x499db0], eax
mov eax, dword [0x4927c8]
imul eax, eax, 0xd6b9391f
mov dword [0x4927c8], eax
mov eax, dword [0x499dac]
cmp eax, 0
je 0x408b72
mov eax, 0x26e22eea
mov ecx, dword [0x4918a0]
shl ecx, 8
sub ecx, 0x2bac8c80
cmp eax, ecx
je 0x408997
mov eax, dword [0x497244]
add eax, 0x967efffb
mov dword [0x497244], eax
mov eax, 0x986222c0
mov ecx, esp
lea edx, [esp + 0x12f]
mov dword [ecx], edx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x108], edx
call fcn.00439b20
mov dword [esp + 0x128], eax
mov si, word [0x483bf0]
mov ax, si
add eax, 0xf6d5d54e
mov si, ax
mov word [0x483bf0], si
mov eax, dword [esp + 0x128]
mov byte [esp + eax + 0x12f], 0x5c
mov dword [0x495cf8], 0xedffff77
mov eax, dword [esp + 0x128]
inc eax
mov dword [esp + 0x128], eax
mov si, word [0x4807d8]
mov ax, si
add eax, 0xff736922
mov si, ax
mov word [0x4807d8], si
mov eax, dword [esp + 0x128]
mov byte [esp + eax + 0x12f], 0
mov si, word [0x486318]
mov ax, si
xor eax, 0x6035
mov si, ax
mov word [0x486318], si
mov eax, dword [0x499df0]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x108]
mov dword [ecx], eax
call fcn.004558b0
mov ecx, dword [0x48dd54]
add ecx, 0xd760fb79
mov dword [0x48dd54], ecx
mov ecx, dword [0x47f768]
mov edx, esp
mov edi, dword [esp + 0x108]
mov dword [edx], edi
mov dword [edx + 4], 0
mov dword [esp + 0x104], eax
call ecx
sub esp, 8
mov si, word [0x47ffe2]
mov cx, si
xor ecx, 0xe356
mov si, cx
mov word [0x47ffe2], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1f54
mov dword [esp + 0x100], eax
call fcn.0043cb40
mov dword [esp + 0x56c], eax
mov eax, dword [0x48da94]
add eax, 0x20786790
mov dword [0x48da94], eax
mov eax, dword [esp + 0x56c]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x108]
mov dword [ecx], eax
call fcn.004558b0
mov ecx, dword [0x48f4f4]
imul ecx, ecx, 0x5e3df94f
mov dword [0x48f4f4], ecx
mov ecx, dword [esp + 0x56c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xfc], eax
call fcn.00448880
mov si, word [0x481450]
movsx eax, si
mov ecx, dword [0x48e474]
inc ecx
mov dword [0x48e474], ecx
imul eax, ecx
imul eax, eax, 0x37f206c4
mov ecx, dword [esp + 0x10c]
cmp ecx, eax
jge 0x408b6d
mov ax, word [0x482322]
mov cx, ax
and ecx, 0x48d7
mov ax, cx
mov word [0x482322], ax
jmp 0x408bab
mov ax, word [0x480c30]
movsx ecx, ax
not ecx
or ecx, 0x8eaebbd5
mov edx, dword [0x48e994]
sub edx, ecx
mov dword [0x48e994], edx
mov byte [esp + 0x12f], 0
mov ecx, dword [0x48f24c]
and ecx, 0x1ebf5518
mov dword [0x48f24c], ecx
mov eax, dword [0x48b3c4]
cmp eax, 0xa19d916c
jg 0x408be4
mov eax, dword [0x48a148]
or eax, 0xacf66366
cmp eax, 0xeeddd7b7
jle 0x408bdf
mov eax, dword [0x491118]
and eax, 0x892c1016
mov dword [0x491118], eax
jmp 0x408be4
mov eax, esp
mov dword [eax + 4], 0x1f
mov dword [eax], 0x885
call fcn.0043cb40
mov dword [esp + 0x568], eax
mov eax, dword [0x489e88]
or eax, 0x2e8f2b3e
mov dword [0x489e88], eax
mov eax, dword [esp + 0x568]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x530]
call fcn.004394d0
sub esp, 4
mov ecx, dword [0x4992d0]
inc ecx
mov dword [0x4992d0], ecx
and ecx, 0xbd8269fa
cmp ecx, 0x233cfbda
mov dword [esp + 0xf8], eax
jg 0x408c66
mov eax, dword [0x48f2e0]
mov ecx, 0xcb08cce8
sub ecx, eax
or ecx, 0x2867cca3
mov dword [0x496c70], ecx
lea eax, [esp + 0x530]
lea ecx, [esp + 0x12f]
mov edx, dword [esp + 0x568]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], ecx
call fcn.00448880
mov eax, dword [0x48f300]
imul eax, eax, 0x53a4b0b0
mov dword [0x48f300], eax
mov eax, dword [esp + 0xf4]
mov ecx, eax
call fcn.0041b030
lea ecx, [esp + 0x530]
mov dword [esp + 0xec], eax
call fcn.004504c0
mov ecx, 0xb650560
mov dword [esp], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xb650560
mov dword [esp + 0xe8], ecx
call fcn.00446410
cmp eax, 0
je 0x408df0
mov dword [0x48b028], 0x477f5ddb
mov dword [esp + 0x11c], 1
mov eax, dword [0x4895d8]
add eax, 0xd85643d5
mov ecx, dword [0x499040]
xor ecx, eax
mov dword [0x499040], ecx
mov eax, dword [0x47f6f4]
mov ecx, esp
lea edx, [esp + 0x12f]
mov dword [ecx], edx
call eax
sub esp, 4
mov si, word [0x484144]
mov cx, si
add ecx, 0x200b825
mov si, cx
mov word [0x484144], si
mov ecx, dword [esp + 0x128]
mov byte [esp + ecx + 0x12f], 0
mov si, word [0x486202]
mov cx, si
inc ecx
mov si, cx
mov word [0x486202], si
movsx ecx, si
add ecx, 0x90faf27f
and ecx, 0xef73ff33
cmp ecx, 0xf79d0c9d
mov dword [esp + 0xe4], eax
je 0x408dbf
mov eax, dword [0x48dd28]
add eax, 0xf5d1c3bd
mov ecx, dword [0x4989d8]
sub ecx, eax
mov dword [0x4989d8], ecx
mov eax, dword [0x47f76c]
mov ecx, esp
lea edx, [esp + 0x12f]
mov dword [ecx], edx
call eax
sub esp, 4
mov ecx, dword [0x48e230]
mov edx, dword [0x489078]
imul edx, ecx
mov dword [0x489078], edx
mov dword [esp + 0xe0], eax
mov eax, dword [0x48abec]
dec eax
mov dword [0x48abec], eax
mov ecx, dword [0x490e8c]
inc ecx
mov dword [0x490e8c], ecx
imul eax, ecx
xor eax, 0xc1f3bedd
mov ecx, dword [0x48cf88]
and ecx, eax
mov dword [0x48cf88], ecx
mov eax, esp
lea ecx, [esp + 0x12f]
mov dword [eax], ecx
mov dword [esp + 0xdc], ecx
call fcn.00439b20
mov dx, word [0x4819e8]
mov cx, dx
and ecx, 0x7c6b
mov dx, cx
mov word [0x4819e8], dx
mov byte [esp + 0x132], 0
mov ecx, dword [0x48b514]
and ecx, 0xd3ed4b6a
mov dword [0x48b514], ecx
mov ecx, dword [0x499df0]
mov esi, esp
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0xdc]
mov dword [esi], ecx
mov dword [esp + 0xd8], eax
call fcn.004558b0
mov dx, word [0x484f30]
movsx ecx, dx
or ecx, 0xffd7bfff
mov esi, dword [0x48da64]
imul esi, ecx
mov dword [0x48da64], esi
mov ecx, dword [0x47f768]
mov esi, esp
mov edi, dword [esp + 0xdc]
mov dword [esi], edi
mov dword [esi + 4], 0
mov dword [esp + 0xd4], eax
call ecx
sub esp, 8
mov ecx, dword [0x4919d4]
or ecx, 0x24b9601d
mov dword [0x4919d4], ecx
mov ecx, esp
mov esi, dword [esp + 0xdc]
mov dword [ecx + 4], esi
mov dword [ecx], 0x499754
mov dword [esp + 0xd0], eax
call fcn.004558a0
mov ecx, dword [0x48afa0]
imul ecx, ecx, 0x39bc0c30
mov dx, word [0x4881c4]
movsx esi, dx
mov edi, dword [0x491338]
mov ebx, edi
dec ebx
mov dword [0x491338], ebx
imul edi, edi, 0xe06136f6
sub esi, edi
cmp ecx, esi
mov dword [esp + 0xcc], eax
je 0x408f47
mov eax, dword [0x4978cc]
add eax, 0xfdd79bfb
mov dword [0x4978cc], eax
cmp dword [esp + 0x11c], 0
jne 0x408f89
mov ax, word [0x487c44]
mov cx, ax
or ecx, 0x4fd4
mov ax, cx
mov word [0x487c44], ax
mov dword [0x499da8], 0
mov ecx, dword [0x49311c]
and ecx, 0x48bfe818
mov dword [0x49311c], ecx
lea eax, [esp + 0x530]
lea ecx, [esp + 0x12f]
mov edx, dword [0x48c52c]
add edx, 0x19c06c7b
mov si, word [0x4871b2]
mov di, si
xor edi, edx
mov si, di
mov word [0x4871b2], si
mov edx, esp
lea edi, [esp + 0x12f]
mov dword [edx], edi
mov dword [esp + 0xc8], eax
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc0], edi
call fcn.0043fc10
mov dword [esp + 0x128], eax
mov si, word [0x485b58]
mov ax, si
and eax, 0x6e3d
mov si, ax
mov word [0x485b58], si
mov eax, dword [0x47f768]
mov ecx, esp
mov edx, dword [esp + 0xc0]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x491fe0]
imul ecx, ecx, 0xcf6444cb
mov dword [0x494114], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1f54
mov dword [esp + 0xbc], eax
call fcn.0043cb40
mov dword [esp + 0x564], eax
mov eax, dword [0x48aa24]
mov ecx, eax
inc ecx
mov dword [0x48aa24], ecx
add eax, 0x3d83d958
and eax, 0x39
mov si, word [0x480e2a]
mov cx, si
sub ecx, eax
mov si, cx
mov word [0x480e2a], si
mov eax, dword [esp + 0x564]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [ecx], eax
call fcn.004558b0
mov ecx, dword [0x498348]
add ecx, 0x3a8d67d1
mov dword [0x498348], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x885
mov dword [esp + 0xb8], eax
call fcn.0043cb40
mov dword [esp + 0x560], eax
mov eax, dword [0x489a64]
sar eax, 6
or eax, 0x15158445
mov ecx, dword [0x497b84]
add ecx, eax
mov dword [0x497b84], ecx
mov eax, dword [esp + 0x564]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00448880
mov si, word [0x486958]
mov ax, si
xor eax, 0x4dbb
mov si, ax
mov word [0x486958], si
mov eax, dword [esp + 0x560]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x530]
call fcn.004394d0
sub esp, 4
mov ecx, dword [0x48caf4]
dec ecx
mov dword [0x48caf4], ecx
mov edx, dword [0x497440]
and edx, ecx
mov dword [0x497440], edx
mov ecx, dword [esp + 0x560]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xb4], eax
call fcn.00448880
mov si, word [0x486010]
mov ax, si
add eax, 0x88ae4059
mov si, ax
mov word [0x486010], si
mov eax, dword [esp + 0xc8]
mov ecx, eax
call fcn.0041b030
lea ecx, [esp + 0x530]
mov dword [esp + 0xb0], eax
call fcn.004504c0
mov ecx, 0xb650560
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xb650560
mov dword [esp + 0xac], ecx
call fcn.00446410
cmp eax, 0
jne 0x40a01d
mov eax, dword [0x492e18]
xor eax, 0xa3e85642
mov dword [0x492e18], eax
cmp dword [0x49959c], 6
jb 0x40937f
mov eax, 0x7480ab8b
mov cx, word [0x481e06]
movsx edx, cx
sar edx, 0xa
mov esi, dword [0x48d748]
and edx, esi
mov esi, dword [0x493d90]
xor edx, esi
mov esi, dword [0x48fc34]
sar esi, 9
mov cx, word [0x47ff18]
movsx edi, cx
sub eax, edi
and esi, eax
cmp edx, esi
jg 0x409264
mov eax, dword [0x4968ec]
dec eax
mov dword [0x4968ec], eax
imul eax, eax, 0x84e7ce31
mov ecx, dword [0x48e210]
or eax, ecx
mov ecx, dword [0x4972b8]
sub ecx, eax
mov dword [0x4972b8], ecx
jmp 0x4092cc
mov eax, 0xfca02cac
mov cx, word [0x483840]
mov dx, cx
inc edx
mov cx, dx
mov word [0x483840], cx
movsx edx, cx
mov esi, dword [0x497ab0]
and edx, esi
cmp eax, edx
jle 0x4092ae
mov ax, word [0x4842e8]
mov cx, ax
add ecx, 0xfffe77f6
mov ax, cx
mov word [0x4842e8], ax
jmp 0x4092c7
mov eax, dword [0x48d3a4]
add eax, 0x6c1d33fd
xor eax, 0x4433
mov cx, ax
mov word [0x47fad4], cx
jmp 0x4092cc
mov eax, esp
mov dword [eax + 4], 0x12
mov dword [eax], 0x2e83
call fcn.0043cb40
mov dword [esp + 0x55c], eax
mov eax, dword [0x48d534]
add eax, 0xbce00656
mov dword [0x48d534], eax
mov eax, dword [esp + 0x55c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12f]
mov dword [ecx], eax
mov dword [ecx + 8], 0x49962c
call fcn.00455f8f
mov ecx, dword [0x48c27c]
xor ecx, 0x1e3000c8
mov dword [0x48c27c], ecx
mov ecx, dword [esp + 0x55c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x12
mov dword [esp + 0xa8], eax
call fcn.00448880
mov eax, dword [0x488370]
and eax, 0x30946144
mov ecx, dword [0x489948]
cmp eax, ecx
jg 0x40937a
mov eax, dword [0x493bf4]
mov cx, word [0x481bc8]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x481bc8], cx
jmp 0x409487
mov eax, 0xd6a75381
mov ecx, dword [0x488880]
or ecx, 0x7a24
mov dx, word [0x48715a]
mov si, dx
xor esi, ecx
mov dx, si
mov word [0x48715a], dx
mov ecx, esp
mov dword [ecx + 4], 0x24
mov dword [ecx], 0x1f88
mov dword [esp + 0xa4], eax
call fcn.0043cb40
mov dword [esp + 0x558], eax
mov dx, word [0x486266]
movsx eax, dx
sar eax, 8
mov ecx, dword [0x48c98c]
sub ecx, eax
mov dword [0x48c98c], ecx
mov eax, dword [esp + 0x558]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12f]
mov dword [ecx], eax
mov dword [ecx + 8], 0x49962c
call fcn.00455f8f
mov ecx, dword [0x48d230]
shl ecx, 0xa
imul ecx, ecx, 0x6b0cb46a
add ecx, 0xaa811179
mov esi, dword [esp + 0xa4]
cmp esi, ecx
mov dword [esp + 0xa0], eax
jg 0x40943e
mov dword [0x48998c], 0x72c7c53e
jmp 0x40944d
mov eax, dword [0x489de8]
add eax, 0x7063f4f5
mov dword [0x489de8], eax
mov eax, dword [esp + 0x558]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x24
call fcn.00448880
mov eax, dword [0x496ad4]
inc eax
mov dword [0x496ad4], eax
and eax, 0x3ffc561d
xor eax, 0x75469940
mov ecx, dword [0x48893c]
sub ecx, eax
mov dword [0x48893c], ecx
mov eax, 0x46dd440b
mov ecx, dword [0x498f50]
mov dx, word [0x480f0e]
mov si, dx
xor esi, ecx
mov dx, si
mov word [0x480f0e], dx
mov byte [esp + 0x52f], 0
mov ecx, dword [0x493888]
or ecx, 0x56ea71ff
mov dword [0x493888], ecx
mov ecx, dword [0x499df0]
mov esi, esp
mov dword [esi + 4], ecx
lea ecx, [esp + 0x12f]
mov dword [esi], ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], ecx
call fcn.004558b0
mov ecx, dword [0x48a964]
xor ecx, 0xcc463af7
mov dword [0x48a964], ecx
mov ecx, dword [0x47f768]
mov esi, esp
mov edi, dword [esp + 0x98]
mov dword [esi], edi
mov dword [esi + 4], 0
mov dword [esp + 0x94], eax
call ecx
sub esp, 8
mov ecx, dword [0x495c14]
shl ecx, 0xa
mov dx, word [0x47fde0]
movsx esi, dx
sub ecx, esi
sub ecx, 0x57b60a62
mov esi, dword [esp + 0x9c]
cmp esi, ecx
mov dword [esp + 0x90], eax
jg 0x40956d
mov ax, word [0x484c98]
mov cx, ax
imul ecx, ecx, 0x2413c784
mov ax, cx
mov word [0x484c98], ax
jmp 0x40957c
mov eax, dword [0x48e178]
xor eax, 0xec31f974
mov dword [0x48e178], eax
mov eax, 0x91699d4e
mov ecx, esp
lea edx, [esp + 0x12f]
mov dword [ecx + 4], edx
mov dword [ecx], 0x499754
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], edx
call fcn.004558a0
mov ecx, dword [0x4965f4]
or ecx, 0x9451f1a2
mov dword [0x4965f4], ecx
mov ecx, esp
mov edx, dword [esp + 0x88]
mov dword [ecx], edx
mov dword [esp + 0x84], eax
call fcn.0043fc10
mov dword [esp + 0x128], eax
mov eax, dword [0x495eb8]
and eax, 0x57168074
mov dword [0x495eb8], eax
mov eax, dword [0x47f768]
mov ecx, esp
mov edx, dword [esp + 0x88]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov si, word [0x4831c4]
movsx ecx, si
mov edx, dword [esp + 0x8c]
cmp edx, ecx
mov dword [esp + 0x80], eax
jl 0x409639
mov ax, word [0x483570]
mov cx, ax
imul ecx, ecx, 0x5faabbb9
mov ax, cx
mov word [0x483570], ax
mov eax, 0xe9227bfd
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1f54
mov dword [esp + 0x7c], eax
call fcn.0043cb40
mov dword [esp + 0x554], eax
mov eax, dword [0x495d80]
add eax, 0x800c4080
mov dword [0x495d80], eax
mov eax, dword [esp + 0x554]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12f]
mov dword [ecx], eax
call fcn.004558b0
mov ecx, dword [0x489b2c]
or ecx, 0x500a5850
mov dword [0x490078], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x885
mov dword [esp + 0x78], eax
call fcn.0043cb40
mov dword [esp + 0x550], eax
mov dx, word [0x4823ca]
mov ax, dx
add eax, 0x5eed6c4b
mov dx, ax
mov word [0x4823ca], dx
mov eax, dword [esp + 0x554]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00448880
mov dx, word [0x4825e0]
movsx eax, dx
and eax, 0x940c02
mov ecx, dword [0x495e00]
mov esi, dword [esp + 0x7c]
sub esi, ecx
cmp eax, esi
jle 0x409719
mov eax, dword [0x492fb0]
and eax, 0x41a39d27
mov dword [0x492fb0], eax
mov eax, 0x327b8528
mov ecx, dword [esp + 0x550]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0x530]
mov dword [esp + 0x74], eax
call fcn.004394d0
sub esp, 4
mov ecx, dword [0x490c90]
mov edx, dword [esp + 0x74]
cmp edx, ecx
mov dword [esp + 0x70], eax
jle 0x40976f
mov ax, word [0x4826c0]
mov cx, ax
add ecx, 0x9560df9d
mov ax, cx
mov word [0x4826c0], ax
jmp 0x4097a6
mov eax, dword [0x491070]
mov ecx, eax
inc ecx
mov dword [0x491070], ecx
mov ecx, dword [0x488c00]
mov edx, ecx
inc edx
mov dword [0x488c00], edx
lea eax, [eax + ecx + 2]
mov si, word [0x482d5c]
mov cx, si
or ecx, eax
mov si, cx
mov word [0x482d5c], si
lea eax, [esp + 0x530]
lea ecx, [esp + 0x12f]
mov edx, dword [esp + 0x550]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
call fcn.00448880
mov eax, dword [0x4911d0]
sar eax, 0xa
mov ecx, dword [0x4984b4]
mov edx, ecx
inc edx
mov dword [0x4984b4], edx
and ecx, 0xb895982c
or eax, ecx
mov ecx, dword [0x491e00]
imul ecx, eax
mov dword [0x491e00], ecx
mov eax, dword [esp + 0x6c]
mov ecx, eax
call fcn.0041b030
lea ecx, [esp + 0x530]
mov dword [esp + 0x64], eax
call fcn.004504c0
mov ecx, 0xb650560
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xb650560
mov dword [esp + 0x60], ecx
call fcn.00446410
cmp eax, 0
jne 0x409fce
mov eax, 0xdfde5f75
mov ecx, dword [0x4980c0]
mov edx, ecx
dec edx
mov dword [0x4980c0], edx
add ecx, 0x9452df40
and ecx, 0x2ce1b73c
mov edx, dword [0x490880]
imul edx, ecx
mov dword [0x490880], edx
mov ecx, dword [0x47f710]
mov edx, esp
lea esi, [esp + 0x12f]
mov dword [edx + 4], esi
mov dword [edx], 0x104
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], esi
call ecx
sub esp, 8
mov ecx, dword [0x496354]
and ecx, 0xd59a7f7
mov dword [0x496354], ecx
mov ecx, esp
mov edx, dword [esp + 0x58]
mov dword [ecx], edx
mov dword [esp + 0x54], eax
call fcn.00452750
mov dword [esp + 0x128], eax
mov eax, dword [0x495d20]
sub eax, 0x1f89e5b5
add eax, 0x891407c9
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
jle 0x4098fe
mov eax, dword [0x495904]
mov ecx, dword [0x491978]
or eax, ecx
or eax, 0xc3e6b4a8
mov dword [0x491978], eax
mov eax, dword [esp + 0x128]
add eax, 0xfffffffe
mov dword [esp + 0x128], eax
mov eax, dword [0x4986f4]
not eax
add eax, 0x8e194ba3
mov ecx, dword [0x48d21c]
xor eax, ecx
mov ecx, dword [0x491840]
add ecx, eax
mov dword [0x491840], ecx
mov eax, dword [esp + 0x128]
mov dword [esp + 0x124], eax
cmp dword [esp + 0x124], 0
jle 0x409ae0
mov eax, 0xc12400
mov cx, word [0x4832c6]
mov dx, cx
dec edx
mov cx, dx
mov word [0x4832c6], cx
movsx edx, cx
mov esi, dword [0x499148]
sar esi, 1
imul esi, esi, 0x97eadb25
sub edx, esi
cmp eax, edx
jle 0x4099a8
mov eax, dword [0x48cf50]
and eax, 0x19b1
xor eax, 0xbbb0
mov cx, word [0x48590a]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x48590a], cx
mov eax, dword [esp + 0x124]
movsx eax, byte [esp + eax + 0x12f]
cmp eax, 0x5c
jne 0x409a8c
mov eax, dword [0x493cbc]
mov ecx, eax
dec ecx
mov dword [0x493cbc], ecx
and eax, 0x283e7693
mov dword [0x492c9c], eax
mov eax, dword [esp + 0x124]
inc eax
mov dword [esp + 0x124], eax
mov eax, dword [0x48b724]
imul eax, eax, 0x928ea293
mov ecx, 0x5b9beac9
sub ecx, eax
mov eax, dword [0x49888c]
xor eax, ecx
mov dword [0x49888c], eax
mov eax, dword [esp + 0x124]
mov byte [esp + eax + 0x12f], 0
mov dx, word [0x4843a2]
mov ax, dx
add eax, 0xfc7c3e78
mov dx, ax
mov word [0x4843a2], dx
mov eax, dword [esp + 0x124]
mov dword [esp + 0x128], eax
mov eax, dword [0x499280]
mov ecx, dword [0x490434]
inc ecx
mov dword [0x490434], ecx
or ecx, 0x3aaeba38
cmp eax, ecx
jge 0x409a6f
mov eax, dword [0x49512c]
add eax, 0x85a0d567
mov dword [0x49512c], eax
jmp 0x409a87
mov ax, word [0x4838b8]
mov cx, ax
imul ecx, ecx, 0xf16ebac4
mov ax, cx
mov word [0x4838b8], ax
jmp 0x409ae0
mov eax, dword [0x48bbec]
sar eax, 6
imul eax, eax, 0x1349ce69
mov ecx, dword [0x490924]
mov edx, ecx
inc edx
mov dword [0x490924], edx
and eax, ecx
cmp eax, 0xf1bcb425
jl 0x409ac5
mov eax, dword [0x488a20]
xor eax, 0x5d25717c
mov dword [0x488a20], eax
jmp 0x409aca
mov eax, dword [esp + 0x124]
add eax, 0xffffffff
mov dword [esp + 0x124], eax
jmp 0x40993f
mov eax, dword [0x488558]
add eax, 0xfdc3454f
mov dword [0x488558], eax
mov eax, esp
lea ecx, [esp + 0x12f]
mov dword [eax + 4], ecx
mov dword [eax], 0x499754
mov dword [esp + 0x50], ecx
call fcn.004558a0
mov ecx, dword [0x492ca8]
imul ecx, ecx, 0xc5d6089c
mov dword [0x48cf28], ecx
mov ecx, esp
mov edx, dword [esp + 0x50]
mov dword [ecx], edx
mov dword [esp + 0x4c], eax
call fcn.0043fc10
mov dword [esp + 0x128], eax
mov eax, dword [0x493110]
dec eax
mov dword [0x493110], eax
imul eax, eax, 0x329dc115
and eax, 0x67fb5d6a
cmp eax, 0x908dda80
je 0x409bbb
mov eax, 0x9b451411
mov ecx, dword [0x488b38]
sub ecx, 0xff4ce899
cmp eax, ecx
je 0x409b9e
mov ax, word [0x48539a]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x48539a], dx
movsx ecx, ax
and ecx, 0x5a43ca0c
mov esi, dword [0x48b97c]
or esi, ecx
mov dword [0x48b97c], esi
jmp 0x409bb6
mov eax, dword [0x488ca4]
add eax, 0x1d09d6e7
mov ecx, dword [0x48a020]
xor ecx, eax
mov dword [0x48a020], ecx
jmp 0x409bbb
mov eax, dword [0x47f768]
mov ecx, esp
lea edx, [esp + 0x12f]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov si, word [0x483f92]
mov cx, si
inc ecx
mov si, cx
mov word [0x483f92], si
movsx ecx, si
mov edx, dword [0x48d3f4]
and ecx, edx
and ecx, 0x62d1b130
mov dword [0x48d3f4], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1f54
mov dword [esp + 0x48], eax
call fcn.0043cb40
mov dword [esp + 0x54c], eax
mov eax, dword [0x492a24]
imul eax, eax, 0x5f8c2b0a
xor eax, 0x35636e52
mov ecx, dword [0x48e810]
dec ecx
mov dword [0x48e810], ecx
add ecx, 0x425ad752
cmp eax, ecx
jne 0x409c5c
mov eax, dword [0x48a014]
xor eax, 0x1830a57b
mov dword [0x495194], eax
mov eax, dword [esp + 0x54c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12f]
mov dword [ecx], eax
call fcn.004558b0
mov ecx, dword [0x4978d8]
and ecx, 0x9e32384
mov dword [0x4978d8], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x885
mov dword [esp + 0x44], eax
call fcn.0043cb40
mov dword [esp + 0x548], eax
mov eax, dword [0x497164]
not eax
or eax, 0x42b6313d
and eax, 0xcabe3dfd
mov dword [0x4916fc], eax
mov eax, dword [esp + 0x54c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00448880
mov eax, dword [0x499028]
add eax, 0xb3364061
mov dword [0x499028], eax
mov eax, dword [esp + 0x548]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x530]
call fcn.004394d0
sub esp, 4
mov ecx, dword [0x496ee4]
imul ecx, ecx, 0x713cb514
mov dword [0x496ee4], ecx
mov ecx, dword [esp + 0x548]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x40], eax
call fcn.00448880
mov si, word [0x480d3c]
mov ax, si
dec eax
mov si, ax
mov word [0x480d3c], si
movsx eax, si
add eax, 0x31640949
cmp eax, 0x9402be82
je 0x409d66
mov eax, dword [0x4894a4]
xor eax, 0x93a4bb49
mov dword [0x4964b4], eax
jmp 0x409dc0
mov eax, 0xb3233f5b
mov ecx, dword [0x498684]
mov dx, word [0x48372c]
mov si, dx
dec esi
mov dx, si
mov word [0x48372c], dx
movsx esi, dx
sub ecx, esi
cmp eax, ecx
jge 0x409da7
mov eax, dword [0x496adc]
add eax, 0x79fcebea
mov dword [0x496adc], eax
jmp 0x409dbb
mov eax, dword [0x4931d8]
add eax, 0x7424fa46
mov cx, ax
mov word [0x48656e], cx
jmp 0x409dc0
lea eax, [esp + 0x530]
lea ecx, [esp + 0x12f]
mov dword [esp + 0x3c], ecx
mov ecx, eax
call fcn.0041b030
lea ecx, [esp + 0x530]
mov dword [esp + 0x38], eax
call fcn.004504c0
mov ecx, 0xb650560
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xb650560
mov dword [esp + 0x34], ecx
call fcn.00446410
cmp eax, 0
jne 0x409fbf
mov eax, dword [0x48a1c4]
sar eax, 6
sub eax, 0x4ea13070
or eax, 0xdd041077
cmp eax, 0x4b6d74a4
jle 0x409e47
mov eax, dword [0x4910c0]
or eax, 0x1cf53fcf
mov dword [0x4910c0], eax
mov eax, 0xf75fbbde
mov ecx, dword [0x47f710]
mov edx, esp
lea esi, [esp + 0x12f]
mov dword [edx + 4], esi
mov dword [edx], 0x104
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], esi
call ecx
sub esp, 8
mov ecx, dword [0x491e88]
dec ecx
mov dword [0x491e88], ecx
and ecx, 0x2886
mov di, word [0x486466]
mov dx, di
sub edx, ecx
mov di, dx
mov word [0x486466], di
mov ecx, esp
mov edx, dword [esp + 0x2c]
mov dword [ecx + 4], edx
mov dword [ecx], 0x499754
mov dword [esp + 0x28], eax
call fcn.004558a0
mov di, word [0x482984]
movsx ecx, di
or ecx, 0x13de30b5
mov edx, dword [esp + 0x30]
cmp edx, ecx
mov dword [esp + 0x24], eax
jl 0x409eea
mov eax, dword [0x496368]
or eax, 0x685a53f1
mov ecx, dword [0x491508]
and ecx, eax
mov dword [0x491508], ecx
mov eax, 0x440d8451
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1f54
mov dword [esp + 0x20], eax
call fcn.0043cb40
mov dword [esp + 0x544], eax
mov eax, dword [0x48cdc0]
add eax, 0x9004a0
mov dword [0x48cdc0], eax
mov eax, dword [esp + 0x544]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12f]
mov dword [ecx], eax
call fcn.004558b0
mov ecx, dword [0x497240]
or ecx, 0x39f7915d
mov dword [0x497240], ecx
mov ecx, dword [esp + 0x544]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x1c], eax
call fcn.00448880
mov eax, dword [0x498874]
mov ecx, eax
dec ecx
mov dword [0x498874], ecx
mov ecx, dword [esp + 0x20]
cmp ecx, eax
jl 0x409fba
mov eax, 0x4624778e
mov ecx, dword [0x48f028]
inc ecx
mov dword [0x48f028], ecx
mov edx, dword [0x495590]
imul edx, edx, 0x61984ff
xor ecx, edx
cmp eax, ecx
jl 0x409fb5
mov eax, dword [0x493d44]
add eax, 0xedea5c6f
mov dword [0x493d44], eax
jmp 0x409fba
jmp 0x409fbf
mov eax, dword [0x48b884]
or eax, 0xae04098a
mov dword [0x48b884], eax
mov eax, 0x96180104
mov cx, word [0x4818d0]
movsx edx, cx
cmp eax, edx
jg 0x409ff3
mov word [0x4868b2], 0x7053
jmp 0x40a018
mov ax, word [0x482a18]
mov cx, ax
lea ecx, [ecx*4 + 0x28300d73]
mov ax, word [0x4876ae]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x4876ae], ax
jmp 0x40a01d
mov ax, word [0x485832]
mov cx, ax
add ecx, 0xfdb1b5f
mov ax, cx
mov word [0x485832], ax
mov ecx, esp
lea edx, [esp + 0x12f]
mov dword [ecx], edx
mov dword [esp + 0x18], edx
call fcn.0043fc10
mov ecx, dword [0x48c8dc]
xor ecx, 0x2bd57e78
mov dword [0x48c8dc], ecx
mov ecx, dword [0x47f71c]
mov edx, esp
mov esi, dword [esp + 0x18]
mov dword [edx], esi
mov dword [edx + 4], 2
mov dword [esp + 0x14], eax
call ecx
sub esp, 8
mov ecx, dword [0x494d98]
mov edx, dword [0x496c8c]
not edx
and ecx, edx
mov edx, dword [0x489ef8]
and edx, ecx
mov dword [0x489ef8], edx
mov ecx, esp
mov edx, dword [esp + 0x18]
mov dword [ecx], edx
mov dword [ecx + 4], 0x401
mov dword [esp + 0x10], eax
call fcn.00420900
mov eax, dword [0x491098]
mov ecx, eax
inc ecx
mov dword [0x491098], ecx
mov ecx, 0xe68177a6
sub ecx, eax
and ecx, 0xde7
mov di, word [0x4834e6]
mov ax, di
add eax, ecx
mov di, ax
mov word [0x4834e6], di
lea ecx, [esp + 0x530]
call fcn.0044ffb0
add esp, 0x570
pop esi
pop edi
pop ebx
ret