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

Disassembly:
movsx ecx, word [0x475e00]
sub esp, 0x5c
mov eax, dword [0x45d9e0]
or ecx, 0x18904564
sar ecx, 2
imul eax, ecx
push ebp
mov ebp, dword [esp + 0x70]
push 0
push ebp
mov dword [0x45d9e0], eax
imul eax, dword [0x465d68], 0x766f29fc
mov dword [0x465d68], eax
and dword [0x46d440], 0x8182254
call fcn.0040fd00
add esp, 8
test eax, eax
jne 0x4032f7
mov eax, 0xfffffff4
pop ebp
add esp, 0x5c
ret
mov eax, dword [0x45dd44]
add eax, 0x29a978f2
cmp eax, 0xcda71fd
jle 0x403312
or dword [0x45c5b0], 0xcfaf3f49
push 0
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.00414f60
mov eax, dword [0x46b178]
add esp, 0x18
shl eax, 7
cmp eax, 0x44d2bfd5
je 0x403353
imul eax, dword [0x461f2c], 0x8010638
mov dword [0x461f2c], eax
push ebx
mov ebx, dword [esp + 0x70]
push esi
push ebp
push ebx
call fcn.00409180
add esp, 8
test eax, eax
jns 0x4033e2
mov eax, dword [0x461d00]
sar eax, 6
cmp eax, 0xa25dd118
je 0x40338c
mov eax, dword [0x46948c]
add eax, 0xa7970908
and dword [0x45a830], eax
inc dword [0x46948c]
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x4033a9
push 0
push eax
call fcn.00402330
mov esi, eax
add esp, 8
test esi, esi
jne 0x40422b
xor dword [0x46433c], 0x272a06c
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4033cf
push ebx
push eax
call fcn.00410710
mov esi, eax
add esp, 8
test esi, esi
jne 0x40422b
add dword [0x463974], 0xc52e79b8
xor eax, eax
pop esi
pop ebx
pop ebp
add esp, 0x5c
ret
mov eax, dword [0x474840]
and eax, 0xffe11b12
shl eax, 0xa
mov word [0x47bd8a], ax
lea eax, [esp + 0x2c]
push ebx
push eax
call fcn.00410710
mov esi, eax
add esp, 8
test esi, esi
jne 0x40422b
imul eax, dword [0x4673bc], 0x2d7434e9
mov ecx, 0x75728b18
sub ecx, eax
cmp ecx, 0xd1e3561f
je 0x403430
add dword [0x45d900], 0xe1ff259c
lea eax, [esp + 0x38]
push ebp
push eax
call fcn.00410710
mov esi, eax
add esp, 8
test esi, esi
jne 0x40422b
dec dword [0x46fa4c]
mov eax, dword [0x46fa4c]
mov ecx, dword [0x46ca8c]
not ecx
add ecx, eax
cmp ecx, 0x146b2f67
jge 0x4034a4
inc dword [0x473d34]
mov ecx, dword [0x473d34]
dec word [0x479c44]
mov ax, word [0x479c44]
cwde
and eax, ecx
xor eax, 0x3d757134
cmp eax, 0xa9e7e4c6
jl 0x4034a4
mov eax, dword [0x46c2a8]
imul eax, dword [0x469998]
mov dword [0x469998], eax
inc dword [0x46c2a8]
mov dword [esp + 0x38], 1
mov dword [esp + 0x2c], 1
add dword [0x465940], 0xedcceb1f
mov eax, dword [ebx + 4]
add eax, 2
push eax
lea eax, [esp + 0x54]
push eax
call fcn.00406900
mov esi, eax
add esp, 8
test esi, esi
jne 0x40422b
and dword [0x461418], 0x9b2dd3cb
push eax
lea eax, [esp + 0x54]
push eax
call fcn.00402330
mov esi, eax
add esp, 8
test esi, esi
jne 0x40422b
movzx eax, word [0x4765a2]
and eax, 0x9c7165e0
mov word [0x4765a2], ax
lea eax, [esp + 0x44]
push 2
push eax
call fcn.00406900
mov esi, eax
add esp, 8
test esi, esi
jne 0x40422b
dec dword [0x472e80]
mov ecx, 0x8b209cee
mov eax, dword [0x472e80]
sub ecx, eax
cmp ecx, 0x6aa2
jge 0x40354d
and dword [0x46552c], 0x90eb58b
lea eax, [esp + 0x5c]
push 3
push eax
call fcn.00406900
mov esi, eax
add esp, 8
test esi, esi
jne 0x40422b
inc word [0x47623e]
mov ecx, 0xab085668
mov ax, word [0x47623e]
mov edx, dword [0x45b060]
or edx, dword [0x46b080]
dec dword [0x45b060]
or edx, 0x941efa6e
cwde
sub ecx, eax
cmp ecx, edx
je 0x4035b2
inc dword [0x45ebe8]
mov eax, dword [0x45ebe8]
movzx ecx, word [0x47b358]
xor ecx, eax
mov word [0x47b358], cx
lea eax, [esp + 0x38]
push eax
call fcn.004071f0
add esp, 4
and eax, 0x8000001f
jns 0x4035cb
dec eax
or eax, 0xffffffe0
inc eax
imul ecx, dword [0x463190], 0xbfdbd7a5
mov dword [0x463190], ecx
cmp eax, 0x1f
jge 0x403658
mov ecx, dword [0x468744]
mov ebx, 0x1f
add ecx, dword [0x466018]
sub ebx, eax
lea eax, [esp + 0x2c]
mov dword [0x468744], ecx
add dword [0x45da14], 0xe652efa4
push ebx
push eax
mov dword [esp + 0x2c], ebx
call fcn.00411070
mov esi, eax
add esp, 8
test esi, esi
jne 0x40422b
dec dword [0x468e2c]
mov eax, dword [0x468e2c]
add eax, 0xf50cab55
mov dword [0x460980], eax
lea eax, [esp + 0x38]
push ebx
push eax
call fcn.00411070
mov esi, eax
add esp, 8
test esi, esi
jne 0x40422b
add dword [0x474e68], 0xe30052de
jmp 0x403660
mov dword [esp + 0x24], 0
imul eax, dword [0x45f354], 0xbf4c4e44
mov ecx, 0x5327
mov ebp, dword [esp + 0x30]
push edi
dec ebp
mov edi, ebp
mov dword [esp + 0x24], ebp
mov dword [0x45f354], eax
movzx eax, word [0x47879a]
imul eax, eax, 0xf8c3759f
mov word [0x47879a], ax
mov eax, dword [esp + 0x40]
dec eax
mov word [0x47b650], cx
sub edi, eax
mov dword [esp + 0x14], eax
mov ebx, edi
lea eax, [esp + 0x3c]
shl ebx, 5
push ebx
push eax
call fcn.00411070
movsx ecx, word [0x476462]
mov eax, dword [0x475128]
not ecx
xor ecx, 0x8bd9037c
or eax, ecx
sub dword [0x46e714], eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.00427200
add esp, 0x10
test eax, eax
js 0x4037a2
jmp 0x4036f0
dec word [0x477f18]
mov edx, 0xb947bd6d
mov cx, word [0x477f18]
mov eax, dword [0x469574]
sub edx, eax
movsx eax, cx
xor edx, 0x5fb1a68f
and eax, 0x91ca5450
cmp edx, eax
jl 0x403741
inc word [0x47c6da]
movzx ecx, word [0x47c6da]
movzx eax, word [0x4802de]
xor ecx, 0x3d517450
imul ecx, eax
mov word [0x4802de], cx
mov eax, dword [esp + 0x5c]
inc dword [eax + edi*4]
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x34]
mov dword [0x46c4dc], 0xc77a477a
push eax
push eax
call fcn.00428f80
mov ax, word [0x4827b8]
mov edx, dword [0x46de00]
movsx ecx, word [0x479ec8]
cwde
imul edx, eax
mov eax, dword [0x46f4d4]
and ecx, edx
imul eax, ecx
mov dword [0x46f4d4], eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.00427200
add esp, 0x14
test eax, eax
jns 0x4036f0
mov eax, dword [0x46e2b8]
dec dword [0x46e2b8]
cmp eax, 0x1cde23cc
jg 0x4037c6
mov eax, dword [0x474e70]
add eax, dword [0x45d24c]
mov dword [0x474e70], eax
jmp 0x4037e5
movsx eax, word [0x48189e]
imul eax, eax, 0x4b03577
and eax, 0xee299d3
or dword [0x459be8], eax
dec word [0x48189e]
lea eax, [esp + 0x3c]
push ebx
push eax
call fcn.00425880
mov ecx, dword [0x472bd0]
add esp, 8
mov eax, dword [0x45da08]
add eax, 0x2412b6cc
add eax, ecx
mov dword [0x472bd0], eax
cmp ebp, dword [esp + 0x14]
jle 0x404065
shl edi, 2
lea eax, [ebx - 0x20]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x10], eax
jmp 0x403830
add dword [0x46bed4], 0x98780625
mov eax, dword [esp + 0x38]
lea ebx, [eax + ebp*4]
mov eax, dword [esp + 0x44]
lea edi, [eax + edi*4]
mov dword [esp + 0x2c], ebx
mov eax, dword [ebx]
cmp eax, dword [edi]
jb 0x403867
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x18]
mov dword [ebx + eax - 4], 0xffffffff
jmp 0x403c3f
dec dword [0x46f420]
mov eax, dword [0x46f420]
mov ecx, dword [0x45ce94]
inc dword [0x45ce94]
sub ecx, eax
cmp ecx, 0xb13152b0
jl 0x40389a
movzx eax, word [0x47c5ca]
xor eax, 0xc76cd62f
mov word [0x47c5ca], ax
movsx eax, word [0x479986]
not eax
xor eax, 0xc457bd01
cmp eax, 0xb2eb851d
jne 0x4038c1
movzx eax, word [0x476a80]
sub eax, 0x47331f77
mov word [0x476a80], ax
mov eax, dword [0x45bb68]
sar eax, 5
add eax, 0x3d67044a
xor dword [0x470e2c], eax
mov eax, dword [0x46ffe4]
mov edi, dword [edi]
imul ecx, eax, 0x16b1335f
mov eax, dword [0x464fb0]
inc dword [0x464fb0]
add eax, 0x23d63b05
inc dword [0x46ffe4]
cmp ecx, eax
jg 0x403921
mov eax, dword [0x471d30]
mov ecx, dword [0x463970]
sar eax, 7
imul ecx, eax
movzx eax, word [0x480f88]
or ecx, 0xd2e0b242
and eax, ecx
mov word [0x480f88], ax
movzx eax, di
xor edx, edx
mov dword [esp + 0x20], eax
mov esi, edi
movzx eax, word [0x477840]
and eax, 0xf7d6ddff
shr esi, 0x10
mov word [0x477840], ax
movsx eax, word [0x48176c]
mov dword [0x463928], eax
mov eax, dword [ebx]
div esi
mov ecx, dword [0x45ecfc]
movzx edx, word [0x47d4d2]
add ecx, 0x7a84f7c8
or edx, ecx
mov dword [esp + 0x1c], esi
mov word [0x47d4d2], dx
mov ebp, eax
mov ecx, dword [ebx]
mov edx, ebp
or dword [0x4709a4], 0x91115cc1
imul edx, esi
sub ecx, edx
mov edx, dword [0x469064]
movsx eax, word [0x477e5a]
dec word [0x477e5a]
shl edx, 7
shl ecx, 0x10
cmp edx, eax
jge 0x4039b3
imul eax, dword [0x46e73c], 0x5acd67a4
mov dword [0x46e73c], eax
movzx eax, word [ebx - 2]
or ecx, eax
movsx eax, word [0x47aa52]
cmp eax, 0x75c542a0
jle 0x4039e7
mov edx, dword [0x4657d4]
mov eax, dword [0x46d27c]
not edx
or eax, edx
or eax, 0xb9905adb
mov word [0x478556], ax
dec dword [0x46d27c]
inc dword [0x468c80]
mov esi, ebp
imul esi, dword [esp + 0x20]
mov eax, dword [0x468c80]
movzx edx, word [0x47cf72]
sub edx, eax
mov word [0x47cf72], dx
cmp ecx, esi
jae 0x403a47
mov eax, dword [0x467594]
add ecx, edi
shl eax, 3
dec ebp
xor eax, 0x2c1b4a1d
and dword [0x46fc80], eax
and dword [0x462720], 0x97f80773
cmp ecx, edi
jb 0x403a3c
cmp ecx, esi
jae 0x403a3c
add ecx, edi
dec ebp
cmp ecx, edi
jae 0x403a31
mov eax, 0x1400
mov word [0x476eb0], ax
movsx eax, word [0x47ec32]
sub ecx, esi
mov edx, dword [0x471598]
sar eax, 3
add eax, 0x359e90b2
and edx, eax
and edx, 0xa5a81d27
mov dword [0x471598], edx
movsx eax, word [0x47cffe]
sub eax, 0x1eb78cbd
cmp eax, 0x7f785aeb
jl 0x403aa8
inc dword [0x463024]
mov eax, dword [0x463024]
add eax, 0xfcfc2968
cmp eax, 0xcf35f9c4
je 0x403aca
mov eax, dword [0x45f87c]
mov eax, dword [0x45b0f8]
inc dword [0x45b0f8]
jmp 0x403aca
mov ax, word [0x482ae2]
mov edx, dword [0x46313c]
cwde
imul edx, eax
imul eax, edx, 0xc7d9fd7f
mov word [0x482ae2], ax
dec dword [0x46313c]
xor edx, edx
mov eax, ecx
div dword [esp + 0x1c]
mov dx, word [0x47e2a0]
mov esi, dword [0x45c254]
mov ebx, eax
movsx edx, dx
imul esi, edx
mov word [0x47e2a0], si
inc dword [0x45c254]
imul edx, dword [0x45b3fc], 0xedc1c37a
mov dword [0x45b3fc], edx
mov edx, ebx
imul edx, dword [esp + 0x1c]
imul eax, dword [0x46a2a0], 0x676b633f
sub ecx, edx
add eax, 0x57bb028a
shl ecx, 0x10
cmp dword [0x46d96c], eax
jl 0x403b45
mov ax, word [0x476a02]
mov edx, dword [0x463f68]
cwde
imul edx, eax
imul eax, edx, 0xbabcfb5b
mov word [0x476a02], ax
jmp 0x403b4f
and dword [0x45f4dc], 0x3c9e73f0
mov eax, dword [esp + 0x2c]
movzx eax, word [eax - 4]
or ecx, eax
mov eax, dword [0x45fcdc]
add eax, eax
cmp eax, 0xfd39a381
je 0x403b71
mov dword [0x473f70], 0xb80c2489
movzx eax, word [0x476e3c]
mov edx, ebx
imul edx, dword [esp + 0x20]
xor eax, 0x6fbe634b
mov word [0x476e3c], ax
cmp ecx, edx
jae 0x403bd0
movzx eax, word [0x481db8]
add ecx, edi
add eax, 0x5403c410
dec ebx
mov word [0x481db8], ax
add dword [0x461740], 0x9201002a
cmp ecx, edi
jb 0x403bbc
cmp ecx, edx
jae 0x403bbc
add ecx, edi
dec ebx
cmp ecx, edi
jae 0x403bb1
movzx eax, word [0x475ab6]
not eax
or eax, 0x51aa5c69
mov word [0x47ef8a], ax
inc dword [0x4608ec]
mov eax, dword [0x4608ec]
add eax, 0x723c7f20
cmp eax, 0xaa7b2942
jne 0x403bf2
mov eax, 0x5b7a
mov word [0x479f7c], ax
mov ecx, dword [0x45f81c]
movzx eax, word [0x477af4]
not ecx
and ecx, 0x43125c81
shl ebp, 0x10
add eax, ecx
or ebp, ebx
mov ebx, dword [esp + 0x18]
mov word [0x477af4], ax
mov eax, dword [esp + 0x5c]
mov dword [ebx + eax - 4], ebp
mov ecx, dword [0x46f408]
mov eax, dword [0x463c3c]
mov ebp, dword [esp + 0x24]
sar ecx, 2
and ecx, 0x6a8999c5
or eax, ecx
mov dword [0x4653fc], eax
cmp dword [0x461e3c], 0x5215392c
jge 0x403c62
movsx eax, word [0x477394]
sub eax, 0x57f42a19
xor eax, 0x9eaa4f82
or dword [0x463728], eax
mov eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x14]
inc dword [ebx + eax - 4]
add dword [0x4752d4], 0xce11ace3
jmp 0x403c80
mov eax, dword [0x45c64c]
mov ecx, dword [0x4613b8]
add eax, 0xfea08a21
xor ecx, eax
mov eax, dword [esp + 0x5c]
mov dword [0x46b1cc], ecx
push 0
dec dword [ebx + eax - 4]
movzx eax, word [0x475b62]
or eax, 0xa7bc616c
mov word [0x475b62], ax
lea eax, [esp + 0x4c]
push eax
call fcn.00402330
mov esi, eax
add esp, 8
test esi, esi
jne 0x40422a
mov eax, dword [0x470224]
not eax
and eax, 0x420400
or eax, 0xbd19f1b7
cmp eax, 0x853f5235
jle 0x403ced
and dword [0x46c304], 0xc550f638
cmp edi, 1
jge 0x403cf6
xor ecx, ecx
jmp 0x403cfe
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + edi*4 - 4]
mov eax, dword [esp + 0x50]
mov dword [eax], ecx
movsx eax, word [0x47ca50]
shl eax, 7
cmp eax, 0xa4d821f7
jle 0x403d1f
add dword [0x466a84], 0x3c2250c
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + edi*4]
mov eax, dword [esp + 0x50]
mov dword [eax + 4], ecx
or dword [0x469024], 0xbc29f176
mov eax, dword [esp + 0x5c]
push dword [ebx + eax - 4]
lea eax, [esp + 0x4c]
push eax
push eax
call fcn.00427450
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x40422a
push eax
lea eax, [esp + 0x64]
mov dword [0x466f7c], 0x6564e425
push eax
call fcn.00402330
mov esi, eax
add esp, 8
test esi, esi
jne 0x40422a
mov eax, dword [0x4613b4]
not eax
xor eax, 0xe43712ad
cmp eax, 0x28b95113
jg 0x403db1
movsx ecx, word [0x478b5c]
movzx eax, word [0x482c0e]
and ecx, 0x4012080
or ecx, 0xe916d377
imul eax, ecx
mov word [0x482c0e], ax
jmp 0x403dbb
or dword [0x472284], 0x68173e39
cmp ebp, 2
jge 0x403dc4
xor ecx, ecx
jmp 0x403dcc
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + ebp*4 - 8]
mov eax, dword [esp + 0x68]
mov dword [eax], ecx
mov ecx, dword [0x467940]
mov eax, dword [0x46dd24]
sar ecx, 0xa
or eax, ecx
or eax, 0xb31d5ca4
mov dword [0x46dd24], eax
cmp ebp, 1
jge 0x403df5
xor ecx, ecx
jmp 0x403dfd
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + ebp*4 - 4]
mov eax, dword [esp + 0x68]
mov dword [eax + 4], ecx
dec word [0x47c182]
mov cx, word [0x47c182]
inc dword [0x46a74c]
mov eax, dword [0x46a74c]
movsx ecx, cx
imul ecx, eax
or ecx, 0x689ffa49
cmp ecx, 0x9dd69cd9
jg 0x403e48
mov eax, dword [0x46f3fc]
imul eax, dword [0x45a4a8]
imul eax, eax, 0xf4513f59
mov dword [0x46f3fc], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + ebp*4]
mov eax, dword [esp + 0x68]
mov dword [eax + 8], ecx
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x4c]
mov dword [0x45d22c], 0xd7ffe64d
push eax
call fcn.00427200
add esp, 8
test eax, eax
jg 0x403c80
imul eax, dword [0x469280], 0xeff14263
and eax, 0x58ce2360
add dword [0x462bc8], eax
mov eax, dword [esp + 0x5c]
push dword [ebx + eax - 4]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.00427450
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x40422a
mov eax, dword [0x45d408]
sub eax, 0x16c1e288
xor eax, 0x75083c8e
cmp eax, 0x2f0b3fa
jle 0x403ee1
mov eax, dword [0x464518]
not eax
imul eax, eax, 0x2cedc6af
add eax, 0x9738f13c
and dword [0x474024], eax
push dword [esp + 0x10]
lea eax, [esp + 0x4c]
push eax
call fcn.00411070
mov esi, eax
add esp, 8
test esi, esi
jne 0x40422a
mov eax, dword [0x45f554]
dec dword [0x45f554]
or eax, 0x8ce97b4
cmp eax, 0x492001
jne 0x403f1e
mov eax, 0xffff8979
mov word [0x47c7c4], ax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x34]
push eax
push eax
call fcn.00428f80
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x40422a
mov ecx, dword [0x46c3b4]
movsx eax, word [0x47bd92]
not ecx
add eax, ecx
movsx ecx, word [0x477a78]
or ecx, eax
lea eax, [esp + 0x30]
and dword [0x45e3c4], ecx
dec word [0x477a78]
push esi
push eax
call fcn.0040fd00
add esp, 8
test eax, eax
jns 0x404039
add dword [0x459cac], 0x9c2d6e22
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00410710
mov esi, eax
add esp, 8
test esi, esi
jne 0x40422a
imul eax, dword [0x463a94], 0x21be9bc9
push dword [esp + 0x10]
mov dword [0x463a94], eax
lea eax, [esp + 0x4c]
push eax
call fcn.00411070
mov esi, eax
add esp, 8
test esi, esi
jne 0x40422a
movsx eax, word [0x47a54e]
mov ecx, dword [0x46d78c]
sar eax, 1
add eax, 0xd7425c8a
or ecx, eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x34]
or ecx, 0x8e5dbdb8
push eax
push eax
mov dword [0x46d78c], ecx
call fcn.00406700
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x40422a
inc dword [0x46d000]
mov eax, dword [0x46d000]
movsx ecx, word [0x477c02]
and ecx, 0x370d85f5
or ecx, eax
sub dword [0x4705d8], ecx
mov eax, dword [esp + 0x5c]
dec dword [ebx + eax - 4]
add dword [0x46feac], 0x272df8f8
movzx eax, word [0x47f672]
dec ebp
sub dword [esp + 0x10], 0x20
sub ebx, 4
imul eax, eax, 0x1c022a98
mov dword [esp + 0x24], ebp
mov dword [esp + 0x18], ebx
mov word [0x47f672], ax
cmp ebp, edi
jg 0x403830
xor dword [0x46318c], 0x40eeb92a
mov edi, dword [esp + 0x70]
test edi, edi
je 0x4040c9
movzx eax, word [0x47f06e]
xor eax, 0x7bef677b
mov word [0x47f06e], ax
lea eax, [esp + 0x54]
push eax
push edi
call fcn.00410710
mov ecx, dword [0x46d9c4]
add esp, 8
mov eax, dword [0x4717e4]
mov ebx, dword [esp + 0x78]
not eax
sar ecx, 1
xor eax, ecx
mov ecx, dword [esp + 0x7c]
xor dword [0x45d578], eax
mov eax, dword [ebx]
imul eax, dword [ecx]
mov dword [edi], eax
add dword [0x4693ac], 0xbc186dc4
jmp 0x4040cd
mov ebx, dword [esp + 0x78]
mov eax, dword [0x470c54]
and eax, 0xc1b4a7ec
cmp eax, 0x6e8415af
je 0x4040ff
inc dword [0x46ba70]
mov eax, dword [0x46ba70]
mov ecx, dword [0x466d24]
and ecx, 0x81d60523
or ecx, eax
xor dword [0x46d7fc], ecx
jmp 0x40411a
dec dword [0x46d9b0]
mov eax, dword [0x46d9b0]
imul eax, eax, 0x226e4383
sub eax, 0x18f9f544
mov dword [0x46fab8], eax
mov edi, dword [esp + 0x74]
test edi, edi
je 0x404215
movsx eax, word [0x47f054]
push dword [esp + 0x28]
or eax, 0x9e2b939d
xor dword [0x45e298], eax
lea eax, [esp + 0x34]
push eax
call fcn.00425880
mov eax, dword [0x45e6d0]
xor eax, dword [0x45af40]
mov dword [0x45af40], eax
lea eax, [esp + 0x38]
push eax
push edi
call fcn.00410710
mov eax, dword [0x469374]
add esp, 0x10
sub eax, 0x4c959f34
cmp eax, 0x45f34892
jg 0x40419a
mov ecx, dword [0x46e5fc]
mov eax, dword [0x467ebc]
and ecx, 0xa114070
or eax, ecx
or eax, 0x65ac8f85
mov dword [0x467ebc], eax
dec dword [0x46e5fc]
jmp 0x4041ba
dec dword [0x46fb94]
mov eax, dword [0x46fb94]
add eax, 0x52f69d2f
or eax, dword [0x46c940]
or eax, 0x28439894
mov dword [0x46c940], eax
mov eax, dword [ebx]
mov ecx, 0x567c5b68
mov dword [edi], eax
inc dword [0x471f64]
mov eax, dword [0x471f64]
sub ecx, eax
dec dword [0x46ed6c]
xor ecx, 0x12fb59b8
mov edx, dword [0x46ed6c]
and edx, 0xfc81cfbd
cmp ecx, edx
jg 0x4041f6
mov dword [0x45e860], 0xc0000d70
push 0
push edi
call fcn.0040fd00
add esp, 8
test eax, eax
jne 0x40420b
mov dword [edi], 1
mov dword [0x46ee20], 0xaeff37f6
mov eax, dword [0x4751d0]
xor eax, dword [0x46e818]
xor eax, 0xdfb53b9e
mov dword [0x4751d0], eax
pop edi
push 0
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.00415980
movzx eax, word [0x47ff34]
add esp, 0x18
and eax, 0x9590de96
mov word [0x47ff34], ax
mov eax, esi
pop esi
pop ebx
pop ebp
add esp, 0x5c
ret