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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x9a0
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov ebx, 0x12634a06
mov dword [esp + 0x998], eax
mov dword [esp + 0x994], ecx
mov dword [esp + 0x990], edx
mov dword [esp + 0x98c], esi
mov dword [esp + 0x988], edi
mov eax, dword [0x48611c]
cmp ebx, eax
jne 0x40c5f9
mov eax, dword [0x48a208]
not eax
add eax, 0x1693e41
mov cx, ax
mov word [0x483a6e], cx
mov eax, 0xa7502f34
mov ecx, esp
mov dword [ecx + 4], 8
mov dword [ecx], 0x1f99
mov dword [esp + 0x128], eax
call fcn.00449170
mov dword [esp + 0x984], eax
mov eax, dword [0x485450]
or eax, 0x49acac3b
mov dword [0x485450], eax
mov eax, dword [esp + 0x984]
mov ecx, dword [esp + 0x988]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.004559a0
mov dword [esp + 0x95c], eax
mov eax, dword [0x488848]
sub eax, 0x55de38f8
or eax, 0xdc1c6e75
mov ecx, dword [esp + 0x128]
cmp ecx, eax
jle 0x40c6dc
mov eax, 0x47404ef2
mov cx, word [0x48400e]
movsx edx, cx
not edx
mov esi, dword [0x4869f0]
imul edx, esi
mov esi, dword [0x48e378]
sar esi, 8
sub edx, esi
cmp eax, edx
jge 0x40c6b8
mov eax, dword [0x48ec58]
or eax, 0x20062c26
mov ecx, dword [0x487838]
sub ecx, eax
mov dword [0x487838], ecx
jmp 0x40c6d7
mov ax, word [0x484876]
movsx ecx, ax
mov edx, dword [0x48b884]
and ecx, edx
mov edx, dword [0x486950]
sub edx, ecx
mov dword [0x486950], edx
jmp 0x40c6dc
mov eax, dword [esp + 0x984]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 8
call fcn.0044fa10
mov eax, dword [0x489208]
xor eax, 0x8eed0aa8
mov dword [0x489208], eax
cmp dword [esp + 0x95c], 0
jne 0x40c8a2
mov eax, dword [0x48d750]
add eax, 0x46230cec
cmp eax, 0x868892df
jle 0x40c739
mov eax, dword [0x48e5c4]
add eax, 0x5dbedb1c
mov dword [0x48e5c4], eax
jmp 0x40c748
mov eax, dword [0x48d118]
and eax, 0x489129c0
mov dword [0x48d118], eax
cmp dword [esp + 0x998], 0
je 0x40c78f
mov eax, dword [0x488c44]
imul eax, eax, 0x69aab8ea
mov dword [0x488c44], eax
mov ecx, dword [esp + 0x990]
call fcn.00450200
mov eax, dword [0x488c28]
add eax, 0x445be7c0
mov ecx, dword [0x48b670]
sub ecx, eax
mov dword [0x48b670], ecx
jmp 0x40ee5b
mov eax, 0x84805200
mov ecx, dword [0x489618]
cmp eax, ecx
jg 0x40c7ce
mov eax, dword [0x488e88]
mov ecx, dword [0x48c28c]
sub eax, ecx
mov ecx, dword [0x486adc]
mov edx, ecx
dec edx
mov dword [0x486adc], edx
xor eax, ecx
mov ecx, dword [0x48e294]
or ecx, eax
mov dword [0x48e294], ecx
mov eax, dword [esp + 0x990]
mov ecx, dword [esp + 0x98c]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.0043a150
mov dword [esp + 0x958], eax
mov eax, dword [0x488514]
shl eax, 6
cmp eax, 0x13dbf9c2
jge 0x40c82e
mov ax, word [0x47fc96]
movsx ecx, ax
sar ecx, 2
mov edx, dword [0x48a02c]
mov esi, edx
inc esi
mov dword [0x48a02c], esi
imul ecx, edx
mov edx, dword [0x489b68]
sub edx, ecx
mov dword [0x489b68], edx
cmp dword [esp + 0x958], 0
jg 0x40c88e
mov eax, dword [0x48e3f8]
inc eax
mov dword [0x48e3f8], eax
or eax, 0xd2a2
mov cx, ax
mov word [0x47fd40], cx
mov ecx, dword [esp + 0x990]
call fcn.00450200
mov dx, word [0x47fd76]
mov ax, dx
inc eax
mov si, ax
mov word [0x47fd76], si
movsx eax, dx
add eax, 0x2e738842
mov ecx, dword [0x48b1d8]
imul ecx, eax
mov dword [0x48b1d8], ecx
mov eax, dword [0x48ad48]
and eax, 0x6d5ce5d3
mov dword [0x48ad48], eax
jmp 0x40ee5b
mov eax, dword [0x4851dc]
add eax, 0x64544285
mov dword [0x4851dc], eax
mov eax, dword [0x48dec8]
shl eax, 5
mov ecx, dword [0x48d7e0]
xor ecx, eax
mov dword [0x48d7e0], ecx
mov eax, dword [0x48ad54]
add eax, 0x811d0a3b
or eax, 0x9ee0a9e1
cmp eax, 0x877f4f79
je 0x40c8fd
mov eax, dword [0x485a0c]
mov ecx, eax
inc ecx
mov dword [0x485a0c], ecx
mov ecx, dword [0x484b8c]
add ecx, eax
mov dword [0x484b8c], ecx
mov eax, 0x8d792c7
mov ecx, dword [0x487720]
mov edx, ecx
inc edx
mov dword [0x487720], edx
cmp eax, ecx
jl 0x40c939
mov eax, dword [0x486944]
xor eax, 0xeb86
mov cx, word [0x4816de]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x4816de], cx
mov ax, word [0x4829fe]
mov cx, ax
imul ecx, ecx, 0xd277b6c
mov ax, cx
mov word [0x4829fe], ax
mov ax, word [0x483fa8]
mov cx, ax
add ecx, 0xeec4bc8a
xor ecx, 0xf74b
mov ax, word [0x4835e2]
mov dx, ax
sub edx, ecx
mov ax, dx
mov word [0x4835e2], ax
mov ecx, dword [0x48a408]
cmp ecx, 0x7f4f6b07
jl 0x40c99b
mov eax, dword [0x487f48]
xor eax, 0x9a41538c
mov dword [0x487f48], eax
lea ecx, [esp + 0x62c]
call fcn.00424190
mov ecx, dword [0x48805c]
add ecx, 0xedff763f
mov dword [0x48805c], ecx
mov ecx, dword [0x48894c]
not ecx
and ecx, 0x3a75b880
mov edx, dword [0x486d1c]
cmp ecx, edx
mov dword [esp + 0x124], eax
jg 0x40ca30
mov ax, word [0x47fc3a]
movsx ecx, ax
xor ecx, 0xffffffff
add ecx, 0x8b753d89
cmp ecx, 0x5cac2413
jge 0x40ca0e
mov eax, dword [0x486268]
xor eax, 0x4a0a0856
mov dword [0x486268], eax
jmp 0x40ca2b
mov eax, dword [0x487038]
inc eax
mov dword [0x487038], eax
mov ecx, dword [0x487d60]
xor eax, ecx
xor eax, 0xb34cb26
mov dword [0x487d60], eax
jmp 0x40ca30
mov eax, 0x841264db
mov ecx, dword [0x48aeec]
mov edx, ecx
inc edx
mov dword [0x48aeec], edx
and ecx, 0xd1a7c798
mov edx, dword [0x48c3a0]
or edx, ecx
mov dword [0x48c3a0], edx
mov si, word [0x480070]
movsx ecx, si
mov edx, dword [0x48ce68]
mov edi, edx
inc edi
mov dword [0x48ce68], edi
and ecx, edx
or ecx, 0x9461b861
cmp eax, ecx
jl 0x40caa3
mov eax, dword [0x48784c]
mov ecx, eax
dec ecx
mov dword [0x48784c], ecx
imul eax, eax, 0x4924a340
mov ecx, dword [0x48e2a8]
xor ecx, eax
mov dword [0x48e2a8], ecx
mov eax, 0x9d95cbfc
mov dword [esp + 0x214], 0
mov dword [esp + 0x210], 0
mov ecx, dword [0x48b860]
imul ecx, ecx, 0x80679ac5
mov dword [0x48b860], ecx
mov ecx, dword [0x48b134]
cmp eax, ecx
jg 0x40cb30
mov eax, 0xe6177fee
mov ecx, dword [0x48ec2c]
cmp eax, ecx
jl 0x40cb00
mov dword [0x489180], 0x5c097ceb
jmp 0x40cb2b
mov ax, word [0x482592]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x482592], dx
movsx ecx, ax
imul ecx, ecx, 0x8495b671
mov esi, dword [0x48cb3c]
or esi, ecx
mov dword [0x48cb3c], esi
jmp 0x40cb3a
mov dword [0x48d84c], 0x81083b41
mov dword [esp + 0x208], 0xffffffff
mov dword [esp + 0x204], 0xffffffff
mov eax, dword [0x489244]
add eax, 0x669f6e76
or eax, 0xc6e6a81e
mov ecx, dword [0x48dc94]
xor ecx, eax
mov dword [0x48dc94], ecx
mov dword [esp + 0x200], 0x50
mov dx, word [0x480f4a]
movsx eax, dx
mov ecx, dword [0x487938]
add eax, ecx
or eax, 0xe76b261c
mov ecx, dword [0x48c8f4]
add ecx, eax
mov dword [0x48c8f4], ecx
mov byte [esp + 0x1ff], 0
mov eax, dword [0x487e3c]
mov ecx, eax
inc ecx
mov dword [0x487e3c], ecx
add eax, 0x3d4f126f
mov dword [0x489ba8], eax
mov eax, esp
mov dword [eax], 0
call fcn.004501a0
add eax, 0x258
adc edx, 0
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], edx
mov si, word [0x481946]
mov ax, si
xor eax, 0x187
mov si, ax
mov word [0x481946], si
mov byte [esp + 0x658], 0
mov eax, dword [0x489504]
or eax, 0xbd9733d
mov dword [0x489504], eax
mov eax, dword [esp + 0x988]
mov ecx, esp
mov dword [ecx], eax
call fcn.00452610
mov dword [esp + 0x224], eax
mov eax, dword [0x48de60]
inc eax
mov dword [0x48de60], eax
mov ecx, dword [0x4856cc]
and ecx, eax
mov dword [0x4856cc], ecx
cmp dword [esp + 0x224], 0x7f
jle 0x40cc7e
mov eax, dword [0x48d15c]
dec eax
mov dword [0x48d15c], eax
and eax, 0xb578
xor eax, 0xfcd
mov cx, word [0x481de0]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x481de0], cx
jmp 0x40eda8
mov ax, word [0x48099c]
mov cx, ax
mov edx, ecx
inc edx
mov ax, dx
mov word [0x48099c], ax
add ecx, 0xe8c34a82
mov ax, word [0x481cf2]
mov dx, ax
sub edx, ecx
mov ax, dx
mov word [0x481cf2], ax
mov ecx, dword [esp + 0x988]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x8d8]
mov dword [edx], ecx
call fcn.004556d0
mov si, word [0x4821f6]
mov cx, si
add ecx, 0x796a61bb
mov si, cx
mov word [0x4821f6], si
mov ecx, dword [esp + 0x224]
sub ecx, 1
mov dword [esp + 0x220], ecx
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x220]
mov ecx, dword [esp + 0x224]
sub ecx, 6
cmp eax, ecx
jl 0x40cecf
mov eax, 0xb7c0f71f
mov ecx, dword [0x489a5c]
xor ecx, 0xffffffff
cmp eax, ecx
jle 0x40cd6f
mov eax, 0x516b5756
mov ecx, dword [0x4878ac]
mov edx, dword [0x487874]
inc edx
mov dword [0x487874], edx
sub ecx, edx
xor ecx, 0xdabb62bd
cmp eax, ecx
je 0x40cd6a
mov ax, word [0x480c80]
mov cx, ax
not ecx
add ecx, 0xce303bc5
mov ax, cx
mov word [0x483e08], ax
jmp 0x40cd6f
mov eax, dword [esp + 0x220]
movsx eax, byte [esp + eax + 0x8d8]
cmp eax, 0x3a
jne 0x40ce99
mov eax, 0x13975e5b
mov ecx, dword [0x48b188]
mov edx, ecx
dec edx
mov dword [0x48b188], edx
add ecx, 0x7d9c52f7
and ecx, 0x5e36d22e
mov dword [0x484ec4], ecx
mov ecx, dword [esp + 0x220]
mov byte [esp + ecx + 0x8d8], 0
mov si, word [0x4838fa]
movsx ecx, si
xor ecx, 0x37ea3273
cmp eax, ecx
jl 0x40cdf1
mov ax, word [0x483c3e]
movsx ecx, ax
imul ecx, ecx, 0x422e1b66
mov edx, dword [0x487870]
sub edx, ecx
mov dword [0x487870], edx
mov eax, 0x18e63515
mov ecx, dword [esp + 0x220]
mov dword [esp + 0x224], ecx
mov ecx, dword [0x485930]
cmp eax, ecx
jge 0x40ce4a
mov eax, 0x975bebcc
mov ecx, dword [0x48ae98]
dec ecx
mov dword [0x48ae98], ecx
cmp eax, ecx
jne 0x40ce45
mov eax, dword [0x48e03c]
and eax, 0x844b7fc2
mov ecx, dword [0x4854bc]
imul ecx, eax
mov dword [0x4854bc], ecx
jmp 0x40ce63
mov eax, dword [0x48845c]
mov ecx, dword [0x4892f0]
not ecx
or eax, ecx
mov dx, ax
mov word [0x482dce], dx
mov eax, dword [esp + 0x220]
lea ecx, [esp + 0x8d8]
lea eax, [eax + ecx + 1]
mov ecx, esp
mov dword [ecx], eax
call fcn.00455a8e
mov dword [esp + 0x200], eax
mov eax, dword [0x486074]
xor eax, 0x8acf11ac
mov dword [0x486074], eax
jmp 0x40cecf
mov eax, dword [0x48d270]
mov ecx, eax
inc ecx
mov dword [0x48d270], ecx
mov ecx, dword [0x48ae1c]
lea eax, [eax + ecx + 0x35f37521]
mov dword [0x48ae1c], eax
mov eax, dword [esp + 0x220]
add eax, 0xffffffff
mov dword [esp + 0x220], eax
jmp 0x40ccf9
mov eax, dword [0x487710]
mov ecx, eax
inc ecx
mov dword [0x487710], ecx
or eax, 0xa087
mov dx, word [0x483a3a]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x483a3a], dx
mov dword [esp + 0x220], 0
mov eax, dword [esp + 0x220]
cmp eax, dword [esp + 0x224]
jg 0x40d1e7
mov ax, word [0x480974]
movsx ecx, ax
xor ecx, 0xffd663ba
cmp ecx, 0x670b3dfb
jl 0x40cf5c
mov ax, word [0x480364]
movsx ecx, ax
mov edx, dword [0x489864]
add edx, 0xbd43f08a
xor ecx, edx
mov edx, dword [0x48af1c]
add edx, ecx
mov dword [0x48af1c], edx
jmp 0x40cfb1
mov eax, 0x3c593453
mov ecx, dword [0x488780]
mov edx, ecx
dec edx
mov dword [0x488780], edx
cmp eax, ecx
jg 0x40cfac
mov eax, 0x44192aa3
mov cx, word [0x48430c]
mov dx, cx
dec edx
mov cx, dx
mov word [0x48430c], cx
movsx edx, cx
cmp eax, edx
jle 0x40cfa2
jmp 0x40cfa7
jmp 0x40cfa7
jmp 0x40cfac
jmp 0x40cfb1
mov eax, dword [esp + 0x220]
mov cl, byte [esp + eax + 0x8d8]
mov byte [esp + eax + 0x858], cl
mov dword [0x48a24c], 0x82e0f752
mov eax, dword [esp + 0x220]
movsx eax, byte [esp + eax + 0x858]
cmp eax, 0x2f
jne 0x40d14f
mov eax, 0x5417e98f
mov ecx, dword [0x4875f8]
dec ecx
mov dword [0x4875f8], ecx
or ecx, 0x9bbef709
mov edx, dword [0x48738c]
and edx, ecx
mov dword [0x48738c], edx
mov ecx, dword [esp + 0x220]
mov byte [esp + ecx + 0x858], 0
mov si, word [0x480c36]
movsx ecx, si
cmp eax, ecx
jge 0x40d043
mov eax, dword [0x48e1a4]
add eax, 0x683bcfae
mov dword [0x48e1a4], eax
jmp 0x40d052
mov eax, dword [0x487ca4]
add eax, 0x515ce133
mov dword [0x487ca4], eax
mov eax, dword [esp + 0x220]
mov dword [esp + 0x21c], eax
mov eax, dword [esp + 0x21c]
cmp eax, dword [esp + 0x224]
jg 0x40d13b
mov eax, 0x1717af26
mov ecx, dword [0x48bcbc]
cmp eax, ecx
jl 0x40d0a8
mov eax, dword [0x48bf8c]
mov ecx, eax
inc ecx
mov dword [0x48bf8c], ecx
mov ecx, dword [0x48a05c]
add ecx, eax
mov dword [0x48a05c], ecx
jmp 0x40d0b1
mov word [0x48061e], 0xf424
mov eax, 0x61800c05
mov ecx, dword [esp + 0x21c]
mov dl, byte [esp + ecx + 0x8d8]
mov esi, dword [esp + 0x220]
sub ecx, esi
mov byte [esp + ecx + 0x658], dl
mov ecx, dword [0x486b6c]
mov esi, ecx
dec esi
mov dword [0x486b6c], esi
add ecx, 0x29d6d7dc
cmp eax, ecx
jle 0x40d120
mov ax, word [0x480b78]
movsx ecx, ax
sar ecx, 9
cmp ecx, 0xfbd4ce01
je 0x40d11b
mov eax, dword [0x484d34]
sar eax, 3
add eax, 0xbf20f61a
mov dword [0x487c90], eax
jmp 0x40d120
jmp 0x40d125
mov eax, dword [esp + 0x21c]
add eax, 1
mov dword [esp + 0x21c], eax
jmp 0x40d060
mov eax, dword [0x48ce14]
add eax, 0x9c8e01e6
mov dword [0x48ce14], eax
jmp 0x40d1e7
mov eax, dword [0x484fb0]
mov cx, word [0x4823da]
movsx edx, cx
imul edx, edx, 0x8091a6d4
mov esi, dword [0x48bc9c]
mov edi, esi
inc edi
mov dword [0x48bc9c], edi
and edx, esi
cmp eax, edx
je 0x40d1cc
mov ax, word [0x484296]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x484296], ax
movsx ecx, ax
add ecx, 0xc9bf52f9
mov edx, dword [0x48d9f8]
xor ecx, edx
mov edx, dword [0x48a86c]
cmp ecx, edx
jl 0x40d1c7
mov ax, word [0x4829a8]
mov cx, ax
add ecx, 0xfbdfee6e
mov ax, cx
mov word [0x4829a8], ax
jmp 0x40d1cc
jmp 0x40d1d1
mov eax, dword [esp + 0x220]
add eax, 1
mov dword [esp + 0x220], eax
jmp 0x40cf03
lea eax, [esp + 0x658]
mov ecx, dword [0x488158]
or ecx, 0x7aa78d17
and ecx, 0xfbb7bfd7
mov dword [0x48a7e4], ecx
mov ecx, esp
mov dword [ecx], eax
call fcn.00452610
mov ecx, dword [esp + 0x98c]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x11c], eax
call fcn.00452610
mov ecx, dword [esp + 0x11c]
add ecx, eax
cmp ecx, 0x1ff
jbe 0x40d24f
mov eax, dword [0x48e1a8]
or eax, 0xd4879ba2
mov dword [0x48e1a8], eax
jmp 0x40eda8
mov eax, 0xd4077dfc
mov ecx, dword [0x48e0a8]
xor ecx, 0x96147b05
mov dword [0x48e0a8], ecx
mov ecx, dword [esp + 0x98c]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x658]
mov dword [edx], ecx
mov dword [esp + 0x118], eax
call fcn.004556e0
mov ecx, dword [0x486030]
or ecx, 0x2df80e50
mov dword [0x486030], ecx
mov dword [esp + 0x21c], 0
mov ecx, dword [0x487a3c]
xor ecx, 0xd936f79e
mov dword [0x487a3c], ecx
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x12b0
mov dword [esp + 0x114], eax
call fcn.00449170
mov dword [esp + 0x980], eax
mov si, word [0x481848]
movsx eax, si
xor eax, 0x495e846
mov ecx, dword [esp + 0x118]
cmp ecx, eax
jle 0x40d30b
mov eax, dword [0x489df4]
imul eax, eax, 0xec78e45f
mov dword [0x489df4], eax
jmp 0x40d31a
mov eax, dword [0x486c80]
and eax, 0x976fedf9
mov dword [0x486c80], eax
mov eax, 0xbc4404ad
mov ecx, dword [esp + 0x980]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0x62c]
mov dword [esp + 0x110], eax
call fcn.0043cd70
sub esp, 4
mov ecx, dword [0x486fa4]
mov edx, dword [esp + 0x110]
cmp edx, ecx
mov dword [esp + 0x10c], eax
jle 0x40d366
mov dword [0x48e1f8], 0xffdffc7c
mov eax, dword [esp + 0x980]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.0044fa10
mov eax, dword [0x489214]
or eax, 0x303f7420
mov ecx, dword [0x48c228]
sub ecx, eax
mov dword [0x48c228], ecx
mov eax, dword [esp + 0x990]
mov ecx, eax
call fcn.004240d0
cmp eax, 0
je 0x40d661
mov eax, 0xad55358a
mov cx, word [0x4813f2]
movsx edx, cx
and edx, 0x653a378e
and edx, 0x20893950
cmp eax, edx
jne 0x40d3ea
mov eax, dword [0x489d70]
mov cx, word [0x484458]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x484458], cx
mov eax, esp
mov dword [eax + 4], 0xc
mov dword [eax], 0x1f65
call fcn.00449170
mov dword [esp + 0x97c], eax
mov eax, dword [0x48d2ec]
add eax, 0xfffdb7bc
mov dword [0x48d2ec], eax
mov ecx, dword [esp + 0x990]
mov eax, dword [esp + 0x97c]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x1e8]
mov dword [esp + 0x108], ecx
mov ecx, eax
mov dword [esp + 0x104], eax
call fcn.00417cf0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x104]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x100], eax
call fcn.00424750
sub esp, 8
mov dword [esp + 0x220], eax
mov ecx, dword [esp + 0x104]
call fcn.0044ffc0
mov eax, dword [0x484b54]
add eax, 0x12c4b54f
mov dword [0x484b54], eax
mov eax, dword [esp + 0x97c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xc
call fcn.0044fa10
mov eax, dword [0x48ac60]
sar eax, 8
xor eax, 0x42f31931
mov ecx, dword [0x48d084]
sub ecx, eax
mov dword [0x48d084], ecx
cmp dword [esp + 0x220], 0
jne 0x40d63e
mov eax, 0xed778f14
mov cx, word [0x480b48]
mov dx, cx
xor edx, 0xe30b
mov cx, dx
mov word [0x480b48], cx
mov dword [esp + 0x21c], 1
mov edx, dword [0x48d7bc]
mov esi, edx
inc esi
mov dword [0x48d7bc], esi
mov cx, word [0x4812cc]
mov si, cx
and esi, edx
mov cx, si
mov word [0x4812cc], cx
mov edx, dword [esp + 0x990]
mov esi, esp
mov dword [esi], 0
mov ecx, edx
mov dword [esp + 0xfc], eax
mov dword [esp + 0xf8], edx
call fcn.00450220
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], 0xb
mov ecx, dword [esp + 0xf8]
call fcn.0044bbc0
sub esp, 8
mov ecx, dword [0x48b43c]
xor ecx, 0xffffffff
or ecx, 0xb53896e8
mov edx, dword [esp + 0xfc]
cmp edx, ecx
mov dword [esp + 0xf4], eax
jne 0x40d593
mov eax, dword [0x489d08]
xor eax, 0x17e4089
mov dword [0x489d08], eax
mov eax, esp
mov dword [eax + 4], 6
mov dword [eax], 0x1811
call fcn.00449170
mov dword [esp + 0x978], eax
mov eax, dword [0x48bee4]
mov ecx, eax
inc ecx
mov dword [0x48bee4], ecx
mov ecx, dword [0x48c158]
imul eax, ecx
mov dx, word [0x480af4]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x480af4], dx
mov eax, dword [esp + 0x978]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x62c]
call fcn.0043cd70
sub esp, 4
mov ecx, dword [0x48635c]
and ecx, 0xd7445270
mov dword [0x48635c], ecx
mov ecx, dword [esp + 0x978]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 6
mov dword [esp + 0xf0], eax
call fcn.0044fa10
mov eax, dword [0x488308]
imul eax, eax, 0xcde7e75b
mov ecx, dword [0x489b28]
xor ecx, eax
mov dword [0x489b28], ecx
mov eax, dword [0x48d6ec]
shr eax, 3
xor eax, 0x5012
mov cx, word [0x481cf2]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x481cf2], cx
mov eax, dword [0x48dd04]
mov ecx, eax
dec ecx
mov dword [0x48dd04], ecx
mov dx, word [0x47ff32]
mov cx, dx
dec ecx
mov si, cx
mov word [0x47ff32], si
movsx ecx, dx
and ecx, 0x52d26cfa
xor eax, ecx
mov ecx, dword [0x48cb80]
imul ecx, eax
mov dword [0x48cb80], ecx
mov eax, esp
lea ecx, [esp + 0x658]
mov dword [eax], ecx
lea eax, [esp + 0x1d4]
mov ecx, eax
mov dword [esp + 0xec], eax
call fcn.00404440
sub esp, 4
mov ecx, esp
mov edi, dword [esp + 0xec]
mov dword [ecx], edi
lea ecx, [esp + 0x62c]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xe4], eax
call fcn.00432cc0
sub esp, 4
mov ecx, dword [esp + 0xec]
mov dword [esp + 0xe0], eax
call fcn.0044ffb0
mov dword [0x487474], 0xeffba5fb
mov eax, esp
mov dword [eax + 4], 0x32
mov dword [eax], 0x126d
call fcn.00449170
mov dword [esp + 0x974], eax
mov eax, dword [0x487da4]
add eax, 0xf9a64a32
mov dword [0x487da4], eax
mov eax, dword [esp + 0x974]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x1c0]
mov ecx, eax
mov dword [esp + 0xdc], eax
call fcn.00404440
sub esp, 4
mov ecx, esp
mov edi, dword [esp + 0xdc]
mov dword [ecx], edi
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0xd8], eax
call fcn.00432cc0
sub esp, 4
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0xd4], eax
call fcn.0044ffb0
mov dx, word [0x481408]
movsx eax, dx
add eax, 0x938bc9bb
and eax, 0xfa1ff42e
mov ecx, dword [0x487140]
or ecx, eax
mov dword [0x487140], ecx
mov eax, dword [esp + 0x974]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x32
call fcn.0044fa10
mov dx, word [0x4805ba]
mov ax, dx
mov dx, word [0x48467e]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x48467e], dx
mov eax, esp
lea ecx, [esp + 0x858]
mov dword [eax], ecx
lea eax, [esp + 0x1ac]
mov ecx, eax
mov dword [esp + 0xd0], eax
call fcn.00404440
sub esp, 4
mov ecx, esp
mov edi, dword [esp + 0xd0]
mov dword [ecx], edi
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0xcc], eax
call fcn.00432cc0
sub esp, 4
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xc8], eax
call fcn.0044ffb0
mov dx, word [0x480f10]
mov ax, dx
mov ecx, eax
inc ecx
mov dx, cx
mov word [0x480f10], dx
add eax, 0xde05a1e5
mov dx, ax
mov word [0x482b62], dx
cmp dword [esp + 0x21c], 0
je 0x40da55
mov dword [0x486b28], 0xb348f3e7
mov eax, esp
mov dword [eax + 4], 0x44
mov dword [eax], 0x1f19
call fcn.00449170
mov dword [esp + 0x970], eax
mov eax, dword [0x48c1f8]
or eax, 0x62ef8241
mov dword [0x48c1f8], eax
mov eax, dword [esp + 0x970]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x198]
mov ecx, eax
mov dword [esp + 0xc4], eax
call fcn.00404440
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xc4]
mov dword [ecx], edx
lea ecx, [esp + 0x62c]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xbc], eax
call fcn.00432cc0
sub esp, 4
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0xb8], eax
call fcn.0044ffb0
mov eax, dword [0x484bd0]
mov ecx, eax
dec ecx
mov dword [0x484bd0], ecx
mov ecx, dword [0x485c84]
lea eax, [ecx + eax - 1]
mov dword [0x485c84], eax
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x110f
call fcn.00449170
mov dword [esp + 0x96c], eax
mov eax, dword [0x48c608]
mov ecx, dword [0x48aadc]
xor eax, ecx
xor eax, 0x72a0b9e7
mov dword [0x488c34], eax
mov eax, dword [esp + 0x970]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x44
call fcn.0044fa10
mov eax, dword [0x48aaf0]
and eax, 0x947e552f
mov dword [0x48aaf0], eax
mov ecx, dword [esp + 0x990]
call fcn.004240d0
mov ecx, dword [esp + 0x96c]
mov edx, esp
mov dword [edx + 8], eax
mov dword [edx + 4], ecx
lea eax, [esp + 0x22c]
mov dword [edx], eax
mov dword [esp + 0xb4], eax
call fcn.004558fc
mov dword [0x4895fc], 0xe63ebaa6
mov ecx, dword [esp + 0x96c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 3
mov dword [esp + 0xb0], eax
call fcn.0044fa10
mov si, word [0x481e1e]
mov ax, si
or eax, 0x1ce1
mov si, ax
mov word [0x481e1e], si
mov eax, esp
mov ecx, dword [esp + 0xb4]
mov dword [eax], ecx
lea eax, [esp + 0x184]
mov ecx, eax
mov dword [esp + 0xac], eax
call fcn.00404440
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xac]
mov dword [ecx], edx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0xa8], eax
call fcn.00432cc0
sub esp, 4
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xa4], eax
call fcn.0044ffb0
mov eax, dword [0x484d50]
mov ecx, dword [0x48551c]
add eax, ecx
mov ecx, dword [0x486d5c]
xor ecx, eax
mov dword [0x486d5c], ecx
mov eax, dword [0x489054]
add eax, 0xfadbf5b9
mov dword [0x489054], eax
mov eax, esp
mov dword [eax + 4], 5
mov dword [eax], 0x2242
call fcn.00449170
mov dword [esp + 0x968], eax
mov cx, word [0x481b2c]
mov ax, cx
and eax, 0xd4b5
mov cx, ax
mov word [0x481b2c], cx
mov eax, dword [esp + 0x968]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x170]
mov ecx, eax
mov dword [esp + 0xa0], eax
call fcn.00404440
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xa0]
mov dword [ecx], edx
lea ecx, [esp + 0x62c]
mov dword [esp + 0x9c], eax
call fcn.00432cc0
sub esp, 4
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x98], eax
call fcn.0044ffb0
mov si, word [0x47fa66]
mov ax, si
xor eax, 0x6004
mov si, ax
mov word [0x47fa66], si
mov eax, dword [esp + 0x968]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.0044fa10
mov eax, dword [0x4896e8]
mov ecx, eax
dec ecx
mov dword [0x4896e8], ecx
sub eax, 0x1be26a8d
xor eax, 0xda8d034a
cmp eax, 0x20068044
jne 0x40db56
mov eax, dword [0x489604]
or eax, 0x14019f01
mov dword [0x489604], eax
jmp 0x40db87
mov ax, word [0x483472]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x483472], ax
movsx ecx, ax
cmp ecx, 0x27062a80
jl 0x40db82
mov dword [0x48d4a8], 0xfecca50a
jmp 0x40db87
cmp dword [esp + 0x21c], 0
je 0x40dbd8
mov ax, word [0x481f10]
mov cx, ax
add ecx, 0xab15ef5b
mov ax, cx
mov word [0x481f10], ax
mov ecx, dword [esp + 0x990]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0x62c]
call fcn.00432cc0
sub esp, 4
mov dword [0x488074], 0xe7130609
mov dword [esp + 0x94], eax
mov eax, dword [0x48b330]
mov ecx, eax
inc ecx
mov dword [0x48b330], ecx
and eax, 0x3569d2ae
mov ecx, dword [0x48a614]
xor ecx, eax
mov dword [0x48a614], ecx
mov eax, dword [0x47f7ac]
mov ecx, esp
lea edx, [esp + 0x858]
mov dword [ecx], edx
call eax
sub esp, 4
mov dword [esp + 0x228], eax
mov si, word [0x480c46]
mov ax, si
imul eax, eax, 0x9ec62c78
mov si, ax
mov word [0x480c46], si
cmp dword [esp + 0x228], 0
jne 0x40dc52
mov eax, dword [0x486318]
imul eax, eax, 0x9fc7ffef
mov dword [0x486318], eax
jmp 0x40eda8
mov eax, dword [0x489ff4]
xor eax, 0x68cb364f
mov dword [0x489ff4], eax
xorps xmm0, xmm0
movaps xmmword [esp + 0x640], xmm0
mov cx, word [0x4801b0]
mov ax, cx
mov edx, dword [0x485450]
mov esi, edx
inc esi
mov dword [0x485450], esi
sub eax, edx
and eax, 0xe98f
mov cx, word [0x4812fe]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x4812fe], cx
mov word [esp + 0x640], 2
mov cx, word [0x482ff2]
movsx eax, cx
mov edx, dword [0x4858e0]
xor eax, edx
xor eax, 0xc129aa6b
mov dword [0x4858e0], eax
mov eax, dword [0x47f7b4]
mov edx, dword [0x47f7b8]
mov esi, dword [esp + 0x228]
mov esi, dword [esi + 0xc]
mov esi, dword [esi]
mov esi, dword [esi]
mov dword [esp + 0x16c], esi
mov esi, dword [esp + 0x16c]
mov edi, esp
mov dword [edi], esi
mov dword [esp + 0x90], eax
call edx
sub esp, 4
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x90]
call eax
sub esp, 4
mov dword [esp + 0x644], eax
mov cx, word [0x484226]
mov ax, cx
shl eax, 5
add eax, 0x559e449d
xor eax, 0x19e9
mov cx, word [0x483454]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x483454], cx
mov eax, dword [0x47f7b0]
movzx edx, word [esp + 0x200]
mov esi, esp
mov dword [esi], edx
call eax
sub esp, 4
mov word [esp + 0x642], ax
mov edx, dword [0x48bd58]
add edx, 0x8f14d3ff
mov esi, dword [0x484ebc]
imul esi, edx
mov dword [0x484ebc], esi
cmp dword [esp + 0x994], 0
je 0x40deec
mov eax, 0xa2bff5aa
mov ecx, dword [0x489bbc]
inc ecx
mov dword [0x489bbc], ecx
cmp eax, ecx
jle 0x40ddbb
mov eax, dword [0x48e988]
shr eax, 9
and eax, 0x3971
mov cx, ax
mov word [0x4826cc], cx
mov eax, dword [esp + 0x994]
mov ecx, 0x10624dd3
mul ecx
shr edx, 6
mov eax, esp
mov dword [eax + 4], edx
lea ecx, [esp + 0x640]
mov dword [eax], ecx
call fcn.0044d9d0
mov dword [esp + 0x654], eax
mov eax, dword [0x486124]
mov ecx, dword [0x487b18]
or ecx, eax
mov dword [0x487b18], ecx
cmp dword [esp + 0x654], 0
jge 0x40de24
mov ax, word [0x483a80]
mov cx, ax
imul ecx, ecx, 0xf77b7eff
mov ax, cx
mov word [0x483a80], ax
jmp 0x40eda8
mov ax, word [0x480828]
mov cx, ax
imul ecx, ecx, 0x86018d12
mov ax, cx
mov word [0x480828], ax
mov ecx, dword [0x47f7cc]
mov edx, dword [esp + 0x654]
mov esi, esp
lea edi, [esp + 0x994]
mov dword [esi + 0xc], edi
mov dword [esi], edx
mov dword [esi + 0x10], 4
mov dword [esi + 8], 0x1006
mov dword [esi + 4], 0xffff
mov dword [esp + 0x8c], edi
call ecx
sub esp, 0x14
mov ecx, dword [0x48bb84]
add ecx, 0x66671b26
mov dword [0x48bb84], ecx
mov ecx, dword [0x47f7cc]
mov edx, dword [esp + 0x654]
mov esi, esp
mov edi, dword [esp + 0x8c]
mov dword [esi + 0xc], edi
mov dword [esi], edx
mov dword [esi + 0x10], 4
mov dword [esi + 8], 0x1005
mov dword [esi + 4], 0xffff
mov dword [esp + 0x88], eax
call ecx
sub esp, 0x14
mov bx, word [0x48435e]
mov cx, bx
add ecx, 0xfcf7d702
mov bx, cx
mov word [0x48435e], bx
mov dword [esp + 0x84], eax
jmp 0x40e064
mov eax, dword [0x48ebd4]
inc eax
mov dword [0x48ebd4], eax
imul eax, eax, 0x3105fcc6
cmp eax, 0x31df6c32
jne 0x40df23
mov eax, dword [0x48c6fc]
shl eax, 8
mov ecx, dword [0x48a5a0]
or ecx, eax
mov dword [0x48a5a0], ecx
jmp 0x40df44
mov eax, dword [0x48a850]
mov ecx, eax
inc ecx
mov dword [0x48a850], ecx
xor eax, 0xb7cb41ca
mov ecx, dword [0x48e7f8]
sub ecx, eax
mov dword [0x48e7f8], ecx
mov eax, 0x23a17936
mov ecx, dword [0x47f7d0]
mov edx, esp
mov dword [edx + 8], 6
mov dword [edx + 4], 1
mov dword [edx], 2
mov dword [esp + 0x80], eax
call ecx
sub esp, 0xc
mov dword [esp + 0x654], eax
mov eax, dword [0x48c96c]
mov ecx, dword [esp + 0x80]
cmp ecx, eax
jge 0x40dfa9
mov ax, word [0x481e76]
movsx ecx, ax
add ecx, 0xa14097e3
mov edx, dword [0x48e748]
and edx, ecx
mov dword [0x48e748], edx
cmp dword [esp + 0x654], 0xffffffff
jne 0x40dfcb
mov eax, dword [0x489434]
xor eax, 0x20824444
mov dword [0x489434], eax
jmp 0x40eda8
mov eax, 0xc4e881ed
mov cx, word [0x482fc4]
movsx edx, cx
shl edx, 6
add edx, 0x263116a6
cmp eax, edx
jle 0x40e003
mov ax, word [0x4849fa]
mov cx, ax
imul ecx, ecx, 0x467170b4
mov ax, cx
mov word [0x4849fa], ax
lea eax, [esp + 0x640]
mov ecx, dword [0x47f7a8]
mov edx, dword [esp + 0x654]
mov esi, esp
mov dword [esi + 4], eax
mov dword [esi], edx
mov dword [esi + 8], 0x10
call ecx
sub esp, 0xc
cmp eax, 0xffffffff
jne 0x40e047
mov eax, dword [0x48da9c]
xor eax, 0x5f9ad0f
mov dword [0x48d9f8], eax
jmp 0x40ed4a
mov ax, word [0x481822]
movsx ecx, ax
add ecx, 0x58d37de1
mov edx, dword [0x4868c4]
sub edx, ecx
mov dword [0x4868c4], edx
mov eax, 0x2cf40b30
mov ecx, dword [0x48a400]
or ecx, 0xc07fc58e
mov dword [0x48a400], ecx
mov ecx, dword [0x47f7c8]
lea edx, [esp + 0x62c]
mov dword [esp + 0x7c], ecx
mov ecx, edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], edx
call fcn.004240d0
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x70], eax
call fcn.0044ffa0
mov ecx, dword [esp + 0x654]
mov edx, esp
mov esi, dword [esp + 0x70]
mov dword [edx + 8], esi
mov dword [edx + 4], eax
mov dword [edx], ecx
mov dword [edx + 0xc], 0
mov eax, dword [esp + 0x7c]
call eax
sub esp, 0x10
mov dword [esp + 0x650], eax
mov eax, dword [0x486960]
mov ecx, dword [0x486d14]
inc ecx
mov dword [0x486d14], ecx
add eax, ecx
mov ecx, dword [esp + 0x78]
cmp ecx, eax
je 0x40e111
mov eax, dword [0x48ab20]
xor eax, 0x1400070a
or eax, 0x6397f0f1
mov ecx, dword [0x48ab10]
xor ecx, eax
mov dword [0x48ab10], ecx
lea eax, [esp + 0x62c]
mov ecx, dword [esp + 0x650]
mov dword [esp + 0x6c], ecx
mov ecx, eax
call fcn.004240d0
mov ecx, dword [esp + 0x6c]
cmp ecx, eax
jae 0x40e1a3
mov eax, 0xdd054a2a
mov ecx, dword [0x489744]
cmp eax, ecx
jge 0x40e19e
mov eax, dword [0x48dd70]
inc eax
mov dword [0x48dd70], eax
or eax, 0x3607f4e5
cmp eax, 0xb33aa5d
je 0x40e199
mov eax, 0x1b9ea739
mov cx, word [0x480a6e]
mov dx, cx
dec edx
mov cx, dx
mov word [0x480a6e], cx
movsx edx, cx
xor edx, 0x32360167
cmp eax, edx
je 0x40e194
jmp 0x40e194
jmp 0x40e199
jmp 0x40e19e
jmp 0x40ed4a
mov eax, dword [0x486cdc]
shr eax, 9
mov cx, word [0x47fea6]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x47fea6], cx
mov ecx, dword [esp + 0x990]
call fcn.00450200
mov eax, dword [0x48b510]
shl eax, 7
xor eax, 0x47484613
mov ecx, dword [0x48e740]
and ecx, eax
mov dword [0x48e740], ecx
mov eax, 0x255906b
mov cx, word [0x47fd6a]
movsx edx, cx
cmp eax, edx
jge 0x40e20e
mov eax, dword [0x488650]
and eax, 0xfdfc96d7
mov dword [0x488650], eax
mov eax, dword [0x47f7c0]
mov ecx, dword [esp + 0x654]
mov edx, esp
lea esi, [esp + 0x22c]
mov dword [edx + 4], esi
mov dword [edx], ecx
mov dword [edx + 0xc], 0
mov dword [edx + 8], 0x400
call eax
sub esp, 0x10
mov dword [esp + 0x650], eax
mov eax, dword [0x48bba0]
inc eax
mov dword [0x48bba0], eax
mov di, word [0x482e30]
mov cx, di
sub ecx, eax
mov di, cx
mov word [0x482e30], di
cmp dword [esp + 0x650], 0
jle 0x40e294
mov eax, dword [esp + 0x210]
mov ecx, dword [esp + 0x214]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], eax
call fcn.0043c250
cmp eax, 0
je 0x40e2a8
mov eax, dword [0x485be4]
add eax, 0xbe33db0f
mov dword [0x485be4], eax
jmp 0x40ebb2
mov eax, 0x959e90d1
mov ecx, dword [0x487f84]
or ecx, 0x2020004
mov dword [0x487f84], ecx
mov ecx, dword [esp + 0x990]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], eax
call fcn.004240d0
mov ecx, dword [esp + 0x650]
add eax, ecx
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x68]
call fcn.0043eb90
sub esp, 8
mov eax, dword [0x48b754]
xor eax, 0xffffffff
xor eax, 0x3fc13468
mov ecx, dword [esp + 0x64]
cmp ecx, eax
jg 0x40e31b
mov eax, dword [0x4865b8]
or eax, 0x2214a8ed
mov dword [0x4880a8], eax
mov eax, dword [esp + 0x990]
mov ecx, eax
call fcn.004507b0
cmp eax, 0
jne 0x40e34f
mov ax, word [0x481a1e]
mov cx, ax
or ecx, 0x61cd
mov ax, cx
mov word [0x481a1e], ax
jmp 0x40ebb2
mov eax, 0xf7cb8c65
mov ecx, dword [0x48a600]
add ecx, 0x3694d0ae
mov dword [0x48a600], ecx
mov ecx, dword [esp + 0x990]
mov edx, dword [esp + 0x650]
mov esi, esp
mov dword [esi + 4], edx
lea edx, [esp + 0x22c]
mov dword [esi], edx
mov dword [esp + 0x60], eax
call fcn.004178b0
sub esp, 8
mov ecx, dword [0x48aff8]
xor ecx, 0x1e5edb30
mov edx, dword [0x486a4c]
mov esi, edx
inc esi
mov dword [0x486a4c], esi
or ecx, edx
mov edx, dword [esp + 0x60]
cmp edx, ecx
mov dword [esp + 0x5c], eax
jg 0x40e3d3
mov ax, word [0x482210]
mov cx, ax
and ecx, 0xccd2
mov ax, cx
mov word [0x482210], ax
cmp dword [esp + 0x208], 0
jge 0x40e6ff
mov eax, 0xbd2a9655
mov dword [0x486050], 0xc4e04d83
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x2242
mov dword [esp + 0x58], eax
call fcn.00449170
mov dword [esp + 0x964], eax
mov eax, dword [0x48c240]
mov ecx, dword [0x48af10]
mov edx, ecx
inc edx
mov dword [0x48af10], edx
xor eax, ecx
mov ecx, dword [0x4897f8]
imul ecx, eax
mov dword [0x4897f8], ecx
mov ecx, dword [esp + 0x990]
mov eax, dword [esp + 0x964]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x158]
mov dword [esp + 0x54], ecx
mov ecx, eax
mov dword [esp + 0x50], eax
call fcn.00417cf0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x50]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
call fcn.00424750
sub esp, 8
mov dword [esp + 0x208], eax
mov ecx, dword [esp + 0x50]
call fcn.0044ffc0
mov si, word [0x4822d2]
movsx eax, si
sar eax, 7
mov ecx, dword [0x489c34]
add ecx, 0x2487b8c8
xor eax, ecx
mov ecx, dword [esp + 0x58]
cmp ecx, eax
jge 0x40e4cd
mov ax, word [0x48014c]
mov cx, ax
or ecx, 0x7008
mov ax, cx
mov word [0x48014c], ax
mov eax, dword [esp + 0x964]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.0044fa10
mov dx, word [0x482cca]
movsx eax, dx
mov ecx, dword [0x4890dc]
and ecx, eax
mov dword [0x4890dc], ecx
cmp dword [esp + 0x208], 0
jl 0x40e6f0
mov eax, dword [0x487680]
cmp eax, 0x27884307
jl 0x40e52e
mov eax, dword [0x48b524]
xor eax, 0x56b9f1ad
mov dword [0x48b524], eax
jmp 0x40e538
mov dword [0x48554c], 0xfcb935b9
mov eax, dword [esp + 0x208]
add eax, 4
mov dword [esp + 0x208], eax
mov eax, dword [0x489368]
or eax, 0x32704e5d
mov dword [0x489368], eax
mov eax, dword [esp + 0x990]
mov ecx, esp
mov dword [ecx], eax
call fcn.00449e70
mov dword [esp + 0x204], eax
mov eax, dword [0x48bf68]
mov ecx, eax
dec ecx
mov dword [0x48bf68], ecx
cmp eax, 0x7809b8dc
jl 0x40e597
mov eax, dword [0x48adbc]
add eax, 0x1880229
mov dword [0x48adbc], eax
cmp dword [esp + 0x204], 0
jge 0x40e6d8
mov eax, 0xf7b1270f
mov ecx, dword [0x48ce1c]
mov edx, ecx
inc edx
mov dword [0x48ce1c], edx
mov edx, dword [0x4865d4]
dec edx
mov dword [0x4865d4], edx
add edx, 0x98dee553
or ecx, edx
cmp eax, ecx
jne 0x40e5ee
mov ax, word [0x4840a4]
mov cx, ax
add ecx, 0x853d5802
mov ax, cx
mov word [0x4840a4], ax
mov eax, esp
mov dword [eax + 4], 0xb
mov dword [eax], 0x3148
call fcn.00449170
mov dword [esp + 0x960], eax
mov eax, dword [0x485d40]
and eax, 0xbfbbdfdf
mov dword [0x485d40], eax
mov ecx, dword [esp + 0x990]
mov eax, dword [esp + 0x960]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x144]
mov dword [esp + 0x48], ecx
mov ecx, eax
mov dword [esp + 0x44], eax
call fcn.00417cf0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x44]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x40], eax
call fcn.00424750
sub esp, 8
mov dword [esp + 0x650], eax
mov ecx, dword [esp + 0x44]
call fcn.0044ffc0
mov eax, dword [0x48cbbc]
or eax, 0xe6321ec1
mov dword [0x48cbbc], eax
mov eax, dword [esp + 0x960]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xb
call fcn.0044fa10
mov eax, dword [0x48c9f4]
add eax, 0x3ecfbffe
mov dword [0x48c9f4], eax
cmp dword [esp + 0x650], 0
jl 0x40e6c9
mov eax, dword [0x485b04]
and eax, 0xfb3e08b6
mov dword [0x485b04], eax
jmp 0x40ebb2
mov eax, dword [0x487d64]
and eax, 0xefeb5eb7
mov dword [0x487d64], eax
mov ax, word [0x482d84]
mov cx, ax
or ecx, 0xf5cf
mov ax, cx
mov word [0x482d84], ax
mov eax, dword [0x48b914]
xor eax, 0x712e7def
mov dword [0x48b914], eax
mov eax, dword [0x48739c]
or eax, 0x42ca1cc0
mov dword [0x48739c], eax
cmp dword [esp + 0x204], 0
jl 0x40e7a4
mov eax, dword [0x48bcb4]
and eax, 0x1f5aba55
mov dword [0x48bcb4], eax
mov eax, dword [esp + 0x990]
mov ecx, eax
call fcn.004240d0
sub eax, dword [esp + 0x208]
cmp eax, dword [esp + 0x204]
jb 0x40e75c
mov dword [0x48a354], 0xecd0dae8
jmp 0x40ebb2
mov eax, 0xf76fb77a
mov ecx, dword [0x48e128]
cmp eax, ecx
je 0x40e79f
mov ax, word [0x483ef2]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x483ef2], dx
movsx ecx, ax
and ecx, 0x120c4210
mov esi, dword [0x48ba10]
lea ecx, [esi + ecx - 0x1e8dc21a]
mov dword [0x48ba10], ecx
jmp 0x40e7a4
mov eax, 0x7e6d3ff
mov ecx, dword [0x484cec]
sub ecx, 0xd7004cd
xor ecx, 0xc459a8
cmp eax, ecx
jle 0x40e7db
mov ax, word [0x482cc4]
mov cx, ax
imul ecx, ecx, 0xaf4cd3ba
mov ax, cx
mov word [0x482cc4], ax
cmp dword [esp + 0x998], 0
je 0x40eaa4
test byte [esp + 0x1ff], 1
jne 0x40eaa4
mov eax, dword [0x4884ac]
imul eax, eax, 0xccf1cab4
mov dword [0x4884ac], eax
mov eax, dword [esp + 0x990]
mov ecx, eax
call fcn.004240d0
cmp eax, 0x4000
jbe 0x40ea95
mov eax, dword [0x48e2b4]
inc eax
mov dword [0x48e2b4], eax
mov dword [0x4876e4], eax
mov byte [esp + 0x1ff], 1
mov eax, dword [0x48e810]
imul eax, eax, 0x73cd57e
mov dword [0x48e810], eax
mov eax, dword [esp + 0x990]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x130]
call fcn.00438790
sub esp, 4
mov dx, word [0x47fcf4]
movsx ecx, dx
imul ecx, ecx, 0x9e2216ec
xor ecx, 0xa4371ef0
mov esi, dword [0x4870d4]
and esi, ecx
mov dword [0x4870d4], esi
cmp dword [esp + 0x208], 0
mov dword [esp + 0x3c], eax
jl 0x40e913
mov eax, dword [0x487974]
mov ecx, eax
inc ecx
mov dword [0x487974], ecx
mov ecx, dword [0x48d1c4]
lea eax, [eax + ecx + 0x73dd1099]
mov dword [0x48d1c4], eax
mov eax, dword [esp + 0x208]
mov ecx, esp
mov dword [ecx], 0
lea ecx, [esp + 0x130]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], eax
call fcn.00450220
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x34]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov ecx, dword [esp + 0x38]
call fcn.0044bbc0
sub esp, 8
mov si, word [0x4821ca]
mov cx, si
xor ecx, 0x86fc
mov si, cx
mov word [0x4821ca], si
mov dword [esp + 0x30], eax
mov eax, dword [0x485b90]
mov ecx, eax
inc ecx
mov dword [0x485b90], ecx
add eax, 0x639b70b1
cmp eax, 0xf2b5208f
jge 0x40e966
mov eax, 0x77b1970
mov cx, word [0x482b0a]
movsx edx, cx
not edx
mov esi, dword [0x48539c]
add edx, esi
cmp eax, edx
jl 0x40e961
mov eax, dword [0x485944]
or eax, 0x272008fc
mov dword [0x485944], eax
jmp 0x40e966
lea eax, [esp + 0x130]
lea ecx, [esp + 0x858]
mov edx, dword [esp + 0x998]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0042a230
cmp eax, 0
jne 0x40ea3c
mov eax, 0x1a5bb1ab
mov ecx, dword [0x48e668]
mov edx, ecx
inc edx
mov dword [0x48e668], edx
xor ecx, 0xff5edf06
cmp eax, ecx
jg 0x40e9e2
mov ax, word [0x48194c]
movsx ecx, ax
sar ecx, 9
cmp ecx, 0xe08ef37b
jne 0x40e9dd
mov eax, dword [0x4867dc]
xor eax, 0xfc3fdd37
mov dword [0x4867dc], eax
jmp 0x40e9e2
mov dword [esp + 0x208], 0xffffffff
mov eax, dword [0x488bc0]
xor eax, 0x6c7fb0ec
mov dword [0x488bc0], eax
mov ecx, dword [esp + 0x990]
call fcn.00450200
mov dx, word [0x480230]
movsx eax, dx
shl eax, 9
add eax, 0x912cb1a7
mov ecx, dword [0x4889fc]
and eax, ecx
and eax, 0xacd85f3b
mov dword [0x4889fc], eax
mov dword [esp + 0x12c], 0xd
jmp 0x40ea56
mov eax, dword [0x48ba9c]
or eax, 0x40fba288
mov dword [0x48ba9c], eax
mov dword [esp + 0x12c], 0
lea ecx, [esp + 0x130]
call fcn.0044ffb0
mov ecx, dword [esp + 0x12c]
test ecx, ecx
mov dword [esp + 0x2c], ecx
je 0x40ea90
jmp 0x40ea7a
mov eax, dword [esp + 0x2c]
sub eax, 0xd
mov dword [esp + 0x28], eax
je 0x40ebb2
jmp 0x40ee63
jmp 0x40ea95
mov eax, dword [0x48b000]
and eax, 0x3c000002
mov dword [0x48b000], eax
mov eax, 0xd10880
mov ecx, dword [0x48b768]
cmp eax, ecx
jg 0x40ead4
mov ax, word [0x48430a]
movsx ecx, ax
xor ecx, 0xc329d1c5
mov edx, dword [0x48ec2c]
add edx, ecx
mov dword [0x48ec2c], edx
cmp dword [esp + 0x994], 0x3aa6
jne 0x40eb64
mov ax, word [0x482768]
movsx ecx, ax
sub ecx, 0xfe115f02
cmp ecx, 0xdbdd7abf
jl 0x40eb1f
mov eax, dword [0x488918]
inc eax
mov dword [0x488918], eax
imul eax, eax, 0x7fca8d59
mov ecx, dword [0x489bfc]
or ecx, eax
mov dword [0x489bfc], ecx
mov eax, dword [esp + 0x990]
mov ecx, eax
call fcn.004240d0
cmp eax, 0x500000
jbe 0x40eb4c
mov eax, dword [0x48ded4]
or eax, 0x311f1356
mov dword [0x48ded4], eax
jmp 0x40ebb2
mov ax, word [0x4831de]
mov cx, ax
and ecx, 0xffe7
mov ax, cx
mov word [0x4831de], ax
mov eax, dword [0x489a2c]
and eax, 0xe797908e
mov cx, word [0x483f34]
movsx edx, cx
sar edx, 0xa
add edx, 0x5a698057
cmp eax, edx
jne 0x40eb9d
mov eax, dword [0x48a08c]
and eax, 0x4a220d
mov dword [0x48a08c], eax
jmp 0x40ebad
mov eax, dword [0x485244]
imul eax, eax, 0xb5b6a776
mov dword [0x485244], eax
jmp 0x40e1e8
mov eax, dword [0x486c7c]
or eax, 0x84002068
mov dword [0x486c7c], eax
cmp dword [esp + 0x208], 0
jl 0x40ec48
mov ax, word [0x483786]
mov cx, ax
and ecx, 0xef37
mov ax, cx
mov word [0x483786], ax
mov ecx, dword [esp + 0x990]
mov edx, dword [esp + 0x208]
mov esi, esp
mov dword [esi], 0
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
call fcn.00450220
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov ecx, dword [esp + 0x24]
call fcn.0044bbc0
sub esp, 8
mov ecx, dword [0x48a3fc]
imul ecx, ecx, 0xb11676ac
or ecx, 0xe31560ff
mov edx, dword [0x48b240]
sub edx, ecx
mov dword [0x48b240], edx
mov dword [esp + 0x1c], eax
mov eax, dword [0x4895e0]
shr eax, 8
add eax, 0x60dd5a51
mov cx, word [0x48136e]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x48136e], cx
cmp dword [esp + 0x998], 0
je 0x40ed3b
test byte [esp + 0x1ff], 1
jne 0x40ed3b
lea eax, [esp + 0x858]
mov dword [0x485bb0], 0x8d8df3a6
mov ecx, dword [esp + 0x998]
mov edx, dword [esp + 0x990]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0042a230
cmp eax, 0
jne 0x40ed0f
mov eax, dword [0x485500]
mov ecx, eax
dec ecx
mov dword [0x485500], ecx
imul eax, eax, 0x7c82c87
mov dx, word [0x4834bc]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x4834bc], dx
mov ecx, dword [esp + 0x990]
call fcn.00450200
mov dx, word [0x4811d6]
mov ax, dx
and eax, 0x1442
mov dx, ax
mov word [0x4811d6], dx
mov eax, dword [0x4851f8]
shr eax, 5
mov ecx, dword [0x486d04]
add eax, ecx
xor eax, 0x2d08
mov dx, word [0x47fbec]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x47fbec], dx
mov eax, dword [0x489248]
and eax, 0xcdf8a7a7
mov dword [0x489248], eax
mov eax, dword [0x47f7d8]
mov ecx, dword [esp + 0x654]
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 4], 2
call eax
sub esp, 8
mov ecx, dword [0x48b148]
and ecx, 0xac718aa7
mov dword [0x48b148], ecx
mov ecx, dword [0x47f7a4]
mov edx, dword [esp + 0x654]
mov esi, esp
mov dword [esi], edx
mov dword [esp + 0x18], eax
call ecx
sub esp, 4
mov ecx, dword [0x4863b0]
add ecx, 0xee3a6ca1
mov dword [0x4863b0], ecx
mov dword [esp + 0x14], eax
mov eax, esp
lea ecx, [esp + 0x858]
mov dword [eax], ecx
mov dword [eax + 4], 0x80
call fcn.004238e0
mov eax, dword [0x48cbac]
shr eax, 8
and eax, 0x7d14
mov dx, word [0x480584]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x480584], dx
mov eax, esp
lea ecx, [esp + 0x8d8]
mov dword [eax], ecx
mov dword [eax + 4], 0x80
call fcn.004238e0
mov eax, dword [0x488c24]
xor eax, 0x92118e42
mov dword [0x488c24], eax
mov eax, esp
lea ecx, [esp + 0x658]
mov dword [eax], ecx
mov dword [eax + 4], 0x200
call fcn.004238e0
mov eax, dword [0x486988]
add eax, 0xa3782421
mov dword [0x486988], eax
mov eax, esp
lea ecx, [esp + 0x22c]
mov dword [eax], ecx
mov dword [eax + 4], 0x400
call fcn.004238e0
mov eax, dword [0x489cc0]
mov dword [0x48c728], eax
lea ecx, [esp + 0x62c]
call fcn.0044ffb0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3