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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x64
mov edi, dword [esp + 0x84]
mov eax, dword [0x446b9c]
movsx ecx, word [0x4428b8]
add ecx, eax
and ecx, 0xa1ac7a1b
add dword [0x4530e4], ecx
imul eax, dword [0x450348], 0x9d742776
cmp eax, 0xc5110c80
jg 0x408f79
mov eax, 0xbb339404
xor eax, dword [0x44c9c4]
cmp eax, 0xff05ea91
jg 0x408f96
mov eax, dword [0x454a34]
lea ecx, [eax - 1]
mov dword [0x454a34], ecx
imul eax, eax, 0x37befbec
add eax, 0xd667
movzx ecx, word [0x444a96]
and ecx, eax
mov word [0x444a96], cx
jmp 0x408fad
imul eax, dword [0x453ba0], 0x90b334d2
cmp eax, 0xae2c73fe
jg 0x408fa2
mov dword [0x44c7b8], 0x8411a99b
jmp 0x408fad
xor dword [0x452894], 0xa3ed8f95
jmp 0x408fad
dec dword [0x44c520]
mov eax, dword [0x44e344]
and dword [0x44d830], 0xaf2b9e75
push 0
push edi
call fcn.00409dea
add esp, 8
mov esi, 0xfffffff4
test eax, eax
je 0x409de0
mov esi, dword [esp + 0x80]
imul ax, word [0x44342e], 0xb770
mov word [0x44342e], ax
lea eax, [esp + 0x28]
lea edx, [esp + 0x34]
lea ecx, [esp + 0x40]
lea ebp, [esp + 0x4c]
lea ebx, [esp + 0x58]
push 0
push eax
push edx
push ecx
push ebp
mov ebp, edi
push ebx
call fcn.00404501
add esp, 0x18
or dword [0x44c894], 0x10440344
push ebp
push esi
call fcn.0040a73a
add esp, 8
test eax, eax
js 0x4092b8
or dword [0x449808], 0xce25b5f3
push esi
push ebx
mov edi, ebx
call fcn.0040a8e2
add esp, 8
mov esi, eax
test esi, esi
jne 0x409db8
imul eax, dword [0x44b16c], 0x66b93587
mov dword [0x44b16c], eax
push ebp
lea eax, [esp + 0x50]
push eax
call fcn.0040a8e2
add esp, 8
mov esi, eax
test esi, esi
jne 0x409db8
mov eax, dword [0x447628]
sub dword [0x45161c], eax
mov dword [esp + 0x4c], 1
mov dword [esp + 0x58], 1
mov eax, dword [0x447418]
dec eax
mov dword [0x447418], eax
cmp eax, 0x90eba330
jl 0x4090b1
mov eax, 0x2089323c
xor eax, dword [0x449cfc]
imul eax, dword [0x44ea10]
mov dword [0x44ea10], eax
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 4]
add eax, 2
push eax
lea eax, [esp + 0x44]
push eax
call fcn.00416a9a
add esp, 8
mov esi, eax
test esi, esi
jne 0x409db8
and dword [0x45143c], 0x8864474a
push 0
lea eax, [esp + 0x44]
push eax
call fcn.00416c8d
add esp, 8
mov esi, eax
test esi, esi
jne 0x409db8
mov dword [0x448c44], 0x3bffcd6d
push 2
lea eax, [esp + 0x38]
push eax
call fcn.00416a9a
add esp, 8
mov esi, eax
test esi, esi
jne 0x409db8
and word [0x440c70], 0x4257
push 3
lea eax, [esp + 0x2c]
push eax
call fcn.00416a9a
add esp, 8
mov esi, eax
test esi, esi
jne 0x409db8
mov eax, dword [0x44b700]
xor eax, dword [0x447170]
cmp eax, 0x7a8248ca
jl 0x40915a
add dword [0x44ecd0], 0xf36f9894
lea esi, [esp + 0x4c]
push esi
call fcn.004169a9
add esp, 4
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x1b
lea ecx, [ecx + eax]
and ecx, 0xffffffe0
sub eax, ecx
add dword [0x446e88], 0x39a57c3
xor ebx, ebx
cmp eax, 0x1e
jg 0x409231
mov ecx, dword [0x449258]
lea edx, [ecx + 1]
mov dword [0x449258], edx
movzx edx, word [0x44319c]
lea ecx, [ecx + edx + 0x15b3]
mov word [0x44319c], cx
mov ebx, 0x1f
sub ebx, eax
mov eax, dword [0x44da30]
lea ecx, [eax + 1]
mov dword [0x44da30], ecx
imul eax, dword [0x44bb20]
cmp eax, 0xa040d380
jg 0x4091dc
mov word [0x443f28], 0xa547
push ebx
push edi
call fcn.00416d4d
add esp, 8
mov esi, eax
test esi, esi
jne 0x409db8
imul ax, word [0x4413fa], 0x3cfa
mov word [0x4413fa], ax
push ebx
lea eax, [esp + 0x50]
push eax
call fcn.00416d4d
add esp, 8
mov esi, eax
test esi, esi
jne 0x409db8
mov eax, 0x108406
and eax, dword [0x44fb6c]
xor eax, 0x76fddd5f
sub dword [0x447b90], eax
lea esi, [esp + 0x4c]
mov dword [esp + 0x14], ebx
mov edx, esi
mov eax, dword [0x4493d8]
sub dword [0x450178], eax
mov eax, dword [esp + 0x5c]
dec eax
mov dword [esp + 0x20], eax
mov eax, dword [0x44ede4]
xor dword [0x4530cc], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x18], eax
lea eax, [eax - 1]
mov dword [esp + 0x1c], eax
mov eax, dword [0x44eeb8]
add eax, 0x18712c29
mov ecx, dword [0x4536d0]
inc ecx
mov dword [0x4536d0], ecx
xor ecx, 0x12288c0c
cmp eax, ecx
jl 0x409290
add dword [0x44a604], 0x91547591
mov esi, dword [esp + 0x20]
sub esi, dword [esp + 0x1c]
mov ebp, esi
shl ebp, 5
push ebp
mov ebx, edx
push ebx
call fcn.00416d4d
add esp, 8
or dword [0x450680], 0x1ace0373
jmp 0x409370
mov ebp, esi
mov edi, ebx
mov eax, dword [0x45406c]
imul eax, dword [0x4550d8]
mov dword [0x4550d8], eax
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4092ea
push 0
push eax
call fcn.00416c8d
add esp, 8
mov esi, eax
test esi, esi
jne 0x409db8
add dword [0x44c874], 0x39da35f0
cmp dword [esp + 0x7c], 0
je 0x409316
push ebp
mov eax, dword [esp + 0x80]
push eax
call fcn.0040a8e2
add esp, 8
mov esi, eax
test esi, esi
jne 0x409db8
or dword [0x450b18], 0x20019424
xor esi, esi
jmp 0x409de0
mov eax, dword [0x44e6a8]
inc eax
mov dword [0x44e6a8], eax
imul eax, eax, 0x3072269f
add eax, 0x15699fd4
mov dword [0x4533d4], eax
mov eax, dword [esp + 0x48]
inc dword [eax + esi*4]
mov word [0x44657c], 0x7d1b
push ebx
push edi
push edi
call fcn.0040a110
add esp, 0xc
movsx eax, word [0x443cee]
imul eax, dword [0x44e404]
mov dword [0x44e404], eax
push ebx
push edi
call fcn.00404737
add esp, 8
test eax, eax
jns 0x409327
xor word [0x441870], 0x25a8
push ebp
push ebx
call fcn.0042d402
add esp, 8
or dword [0x4540c4], 0x1dacbd8e
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jle 0x409c8b
mov eax, 1
sub eax, ebx
dec eax
mov dword [esp + 0xc], eax
mov ecx, 0xbbdd9a38
mov edx, 0xe2f266ef
mov eax, dword [0x44ec48]
add eax, ecx
imul eax, dword [0x44c110]
mov dword [0x44c110], eax
mov eax, dword [esp + 0x60]
mov ebp, dword [esp + 0x20]
mov eax, dword [eax + ebp*4]
mov ecx, dword [esp + 0x54]
cmp eax, dword [ecx + ebx*4 - 4]
lea esi, [esp + 0x34]
jae 0x4094bc
or dword [0x45525c], 0xb9b172d8
mov eax, dword [0x455828]
cmp eax, 0xe201a355
jl 0x40941e
mov eax, dword [0x45345c]
cmp eax, 0x58cbd9e9
je 0x40941e
xor word [0x442bfe], 0x8ac7
mov dword [0x44aea0], 0x31c5e9fa
mov eax, dword [esp + 0x54]
mov ebx, dword [eax + ebx*4 - 4]
or dword [0x44d194], 0xd9c57d05
mov eax, dword [0x454af0]
and eax, edx
or dword [0x44c370], eax
mov ecx, ebx
shr ecx, 0x10
mov dword [esp + 0x10], ecx
mov eax, dword [0x44d4c4]
not eax
imul eax, dword [0x45316c]
mov dword [0x45316c], eax
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x20]
mov eax, dword [eax + edx*4]
xor edx, edx
div ecx
mov ecx, eax
movsx eax, word [0x4462ea]
lea edx, [eax + 1]
mov word [0x4462ea], dx
add eax, 0xa64564f7
cmp eax, 0x46775b01
jg 0x4094d3
movzx eax, word [0x441372]
dec eax
mov word [0x441372], ax
cwde
mov edx, 0xd5cd3257
sub edx, eax
or edx, 0xe264a0
imul edx, dword [0x452e40]
mov dword [0x452e40], edx
jmp 0x4094e4
mov eax, dword [esp + 0xc]
lea eax, [eax + ebp]
mov ecx, dword [esp + 0x48]
mov dword [ecx + eax*4], 0xffffffff
jmp 0x409867
mov eax, 0xd57294f3
sub eax, dword [0x4488cc]
add dword [0x44d650], eax
movzx eax, bx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x20]
mov eax, dword [eax + edx*4]
mov edx, ecx
imul edx, dword [esp + 0x10]
sub eax, edx
imul edx, dword [0x447cd8], 0x17b244fb
and edx, 0x15dbb8da
or dword [0x45372c], edx
shl eax, 0x10
mov edx, dword [0x45548c]
cmp edx, 0x2c6db009
jne 0x409542
movsx edx, word [0x43f43c]
sar edx, 6
imul edx, edx, 0xe66350bc
add edx, 0xb8222502
and dword [0x44c144], edx
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x20]
movzx esi, word [edx + esi*4 - 2]
or esi, eax
mov eax, dword [0x44ecc0]
shr eax, 8
mov edx, 0xda1b03aa
sub edx, eax
and edx, 0xcf49
movzx eax, word [0x445ffc]
imul eax, edx
mov word [0x445ffc], ax
mov eax, ecx
imul eax, dword [esp + 0x24]
mov edx, dword [0x449994]
shl edx, 9
add edx, 0x1d32976a
and edx, 0x2e5db968
sub dword [0x44d63c], edx
cmp esi, eax
jae 0x4095ec
movsx edx, word [0x444c30]
sar edx, 2
add edx, 0xaa4e5679
xor edx, 0x2447fe9d
imul edx, dword [0x448474]
mov dword [0x448474], edx
mov edx, dword [0x4520d0]
add esi, ebx
dec ecx
cmp esi, ebx
jb 0x4095d0
cmp esi, eax
jb 0x4095c5
mov ebp, dword [0x4539f0]
shl ebp, 5
mov edx, 0x54f6e739
sub edx, ebp
xor edx, 0xcdbcc2bc
and dword [0x447160], edx
mov edx, dword [0x4546b4]
imul ebp, edx, 0x91dc84b
add ebp, 0xd3b
movzx edx, word [0x44148c]
and edx, ebp
mov word [0x44148c], dx
sub esi, eax
mov eax, dword [0x44b14c]
mov edx, 0x31461680
or eax, edx
cmp eax, 0xcf19868e
jg 0x40962c
xor word [0x44606a], 0x1b12
xor edx, edx
mov eax, esi
div dword [esp + 0x10]
mov edx, dword [0x4530d8]
mov dword [esp + 8], edx
mov edx, dword [0x450544]
mov dword [esp + 4], edx
mov ebp, dword [0x451fb8]
lea edx, [ebp - 1]
mov dword [0x451fb8], edx
mov edx, dword [esp + 4]
sub edx, ebp
xor edx, dword [esp + 8]
cmp edx, 0xee0fd30a
je 0x409673
add dword [0x44b0a0], 0xf09d77b
mov ebp, dword [esp + 0x10]
imul ebp, eax
sub esi, ebp
mov edx, dword [0x450570]
mov ebp, dword [0x4551fc]
imul ebp, edx
mov edx, dword [0x44b150]
inc edx
mov dword [0x44b150], edx
imul edx, ebp
cmp edx, 0xa2400c01
je 0x4096ad
xor dword [0x448c44], 0xfeffffbf
mov dword [esp + 0x10], ebx
shl esi, 0x10
mov ebx, dword [0x453680]
shr ebx, 5
xor ebx, 0x77f7
movzx edx, word [0x443288]
or edx, ebx
mov word [0x443288], dx
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x20]
movzx ebp, word [edx + ebx*4 - 4]
or ebp, esi
add dword [0x4515ec], 0x3012580
mov esi, dword [esp + 0x24]
imul esi, eax
mov dword [esp + 0x24], esi
and dword [0x44b62c], 0xfdcbf8e9
cmp ebp, esi
jae 0x409803
mov esi, dword [0x45178c]
cmp esi, 0xb0ef9ea4
jne 0x409736
mov si, word [0x43fbf8]
and si, word [0x443c28]
movsx esi, si
xor esi, 0x27e5a902
sub dword [0x4538dc], esi
jmp 0x409746
imul esi, dword [0x4528d0], 0x1b0190a8
mov dword [0x4528d0], esi
mov edx, dword [esp + 0x10]
lea edx, [ebp + edx]
mov dword [esp + 8], edx
mov ebx, dword [0x4527ac]
lea edx, [ebx + 1]
mov dword [0x4527ac], edx
add ebx, 0xdb3efccf
and ebx, 0xaa7bc712
mov esi, dword [0x448a54]
mov edx, dword [0x45299c]
inc edx
mov dword [0x45299c], edx
imul edx, esi
movsx esi, word [0x44263c]
xor esi, edx
cmp ebx, esi
jle 0x4097aa
movzx edx, word [0x4401b6]
dec edx
mov word [0x4401b6], dx
movsx edx, dx
or dword [0x44da0c], edx
jmp 0x4097cc
mov edx, dword [0x448764]
movsx esi, word [0x442570]
imul esi, edx
cmp esi, 0x20be48eb
jne 0x4097cc
xor dword [0x4490d0], 0xdb60a077
dec eax
mov edx, dword [esp + 8]
cmp edx, dword [esp + 0x10]
jb 0x4097f5
cmp edx, dword [esp + 0x24]
jae 0x4097f5
mov ebx, dword [esp + 0x10]
lea edx, [ebp + ebx*2]
mov ebp, dword [esp + 0x24]
dec eax
cmp edx, ebx
jb 0x4097f5
cmp edx, ebp
lea edx, [edx + ebx]
jb 0x4097e9
and dword [0x44c694], 0xb281ff9e
mov ebx, dword [esp + 0x20]
add dword [0x44c28c], 0x3544159d
and dword [0x448e88], 0x7d585dba
shl ecx, 0x10
or ecx, eax
mov eax, dword [esp + 0xc]
lea eax, [eax + ebx]
mov ebp, ebx
mov edx, dword [esp + 0x48]
mov dword [edx + eax*4], ecx
mov eax, dword [0x44d560]
cmp eax, 0xa7c57ecd
lea esi, [esp + 0x34]
mov ebx, dword [esp + 0x18]
jne 0x409867
mov eax, dword [0x44ef80]
dec eax
mov dword [0x44ef80], eax
imul eax, eax, 0xa237256c
xor eax, 0x578a1477
cmp eax, 0xcc064488
jg 0x409867
add dword [0x447c80], 0xa0117610
mov eax, dword [0x450bf4]
not eax
mov ecx, dword [0x454470]
lea edx, [ecx + 1]
mov dword [0x454470], edx
add ecx, 0x7c759b5b
or ecx, eax
cmp ecx, 0x7dfedf7b
jl 0x40989a
mov ax, word [0x445b80]
xor word [0x443678], ax
mov ecx, ebp
sub ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
lea eax, [ecx - 1]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
inc dword [eax + ecx*4 - 4]
mov eax, dword [0x454020]
lea ecx, [eax + 1]
mov dword [0x454020], ecx
xor eax, 0xc8e0fe7b
sub dword [0x454b50], eax
lea eax, [ebp - 1]
mov dword [esp + 8], eax
xor dword [0x452e5c], 0x17a4b44e
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
dec dword [eax + ecx*4 - 4]
mov eax, dword [0x449f80]
mov ecx, 0x9d72be2f
and eax, ecx
xor dword [0x452238], eax
push 0
push esi
call fcn.00416c8d
add esp, 8
mov esi, eax
test esi, esi
jne 0x409db8
mov cx, word [0x4402a0]
mov ax, 0x4cee
add cx, ax
xor eax, eax
cmp ebx, 2
mov word [0x44596e], cx
jl 0x409934
mov eax, dword [esp + 0x54]
mov eax, dword [eax + ebx*4 - 8]
mov ecx, dword [esp + 0x3c]
mov dword [ecx], eax
movsx eax, word [0x442af6]
and eax, 0x4b5eca4d
mov ecx, dword [0x451dbc]
dec ecx
mov dword [0x451dbc], ecx
and ecx, 0x1014070a
cmp eax, ecx
lea edx, [esp + 0x34]
jae 0x40996b
and dword [0x453794], 0xe78f4718
mov eax, dword [esp + 0x54]
mov eax, dword [eax + ebx*4 - 4]
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 4], eax
mov eax, dword [0x44bb38]
dec eax
mov dword [0x44bb38], eax
sub dword [0x44fce0], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
push dword [eax + ecx*4 - 4]
push edx
push edx
call fcn.0042a9a0
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x409db8
or dword [0x4540a8], 0x7eefd2ef
push 0
lea eax, [esp + 0x2c]
push eax
call fcn.00416c8d
add esp, 8
mov esi, eax
test esi, esi
jne 0x409db8
mov eax, dword [0x44d994]
lea ecx, [eax + 1]
mov dword [0x44d994], ecx
mov ecx, dword [0x452018]
lea edx, [ecx + 1]
mov dword [0x452018], edx
imul ecx, eax
cmp ecx, 0xee2ef6ae
je 0x409a00
add dword [0x44afa4], 0xaa0
xor eax, eax
cmp ebp, 2
mov ecx, 0
lea esi, [esp + 0x34]
jl 0x409a18
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx + ebp*4 - 8]
mov edx, dword [esp + 0x30]
mov dword [edx], ecx
mov edx, ebp
imul ecx, dword [0x447f78], 0xd2a5e64e
test edx, edx
mov dword [0x447f78], ecx
jle 0x409a3c
mov eax, dword [esp + 0x60]
mov eax, dword [eax + edx*4 - 4]
mov ecx, dword [esp + 0x30]
mov dword [ecx + 4], eax
mov eax, dword [0x44cb2c]
lea ecx, [eax - 1]
mov dword [0x44cb2c], ecx
and eax, 0x1e62
movzx ecx, word [0x44179c]
or ecx, eax
mov word [0x44179c], cx
mov eax, dword [esp + 0x60]
mov eax, dword [eax + edx*4]
mov ebp, edx
mov ecx, dword [esp + 0x30]
mov dword [ecx + 8], eax
mov eax, dword [0x44a1a8]
add dword [0x44fc80], eax
lea eax, [esp + 0x28]
push eax
push esi
call fcn.00404737
add esp, 8
test eax, eax
jg 0x4098d3
mov eax, dword [0x447d9c]
inc eax
mov dword [0x447d9c], eax
add dword [0x44dc94], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
push dword [eax + ecx*4 - 4]
lea eax, [esp + 0x50]
push eax
push esi
call fcn.0042a9a0
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x409db8
mov eax, dword [0x44c7bc]
add dword [0x448c0c], eax
mov eax, dword [esp + 0x10]
shl eax, 5
push eax
mov ebp, eax
lea eax, [esp + 0x38]
push eax
call fcn.00416d4d
add esp, 8
mov esi, eax
test esi, esi
jne 0x409db8
xor dword [0x453284], 0x2e57bd4f
lea eax, [esp + 0x34]
push eax
push edi
push edi
call fcn.0040a110
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x409db8
mov eax, dword [0x44b154]
mov ecx, 0x8b695bef
add eax, ecx
mov dword [0x44b1ec], eax
push 0
push edi
call fcn.00409dea
add esp, 8
test eax, eax
jns 0x409c6a
mov eax, dword [0x45389c]
lea ecx, [eax - 1]
mov dword [0x45389c], ecx
imul eax, dword [0x451a5c]
mov dword [0x451a5c], eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.0040a8e2
add esp, 8
mov esi, eax
test esi, esi
jne 0x409db8
mov eax, dword [0x44b600]
mov ecx, dword [0x448cb0]
sub eax, ecx
mov ecx, dword [0x44ca4c]
add ecx, dword [0x449ea4]
cmp eax, ecx
jge 0x409ba3
mov eax, dword [0x44f260]
and dword [0x455388], 0x9d79628e
jmp 0x409bd1
mov eax, dword [0x449c6c]
lea ecx, [eax - 1]
mov dword [0x449c6c], ecx
imul eax, eax, 0x3910065b
movsx ecx, word [0x4426be]
add ecx, eax
cmp ecx, 0x442089
jl 0x409bd1
mov word [0x44381c], 0x229
push ebp
lea eax, [esp + 0x38]
push eax
call fcn.00416d4d
add esp, 8
mov esi, eax
test esi, esi
jne 0x409db8
mov eax, 0x3cc473f8
sub eax, dword [0x44ab30]
cmp eax, 0x13098e
jl 0x409c0f
mov eax, dword [0x44fad0]
sar eax, 3
add eax, 0x7505391
mov dword [0x44a0bc], eax
jmp 0x409c31
mov eax, dword [0x450440]
dec eax
mov dword [0x450440], eax
mov ecx, dword [0x4549a4]
lea edx, [ecx - 1]
mov dword [0x4549a4], edx
and eax, ecx
mov word [0x444134], ax
lea eax, [esp + 0x34]
push eax
push edi
push edi
call fcn.00409f16
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x409db8
and dword [0x44f420], 0xd364bfa6
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
dec dword [eax + ecx*4 - 4]
xor dword [0x45450c], 0xe7fef57d
mov eax, dword [0x4530a8]
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov ecx, 0xbbdd9a38
mov edx, 0xe2f266ef
jg 0x4093c3
xor dword [0x44eff4], 0x70a26644
mov ebx, dword [esp + 0x78]
test ebx, ebx
mov esi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x14]
je 0x409d13
mov eax, dword [0x451ae8]
movsx ecx, word [0x443314]
imul ecx, eax
cmp ecx, 0x214010
jl 0x409cc7
mov eax, dword [0x44bc40]
inc dword [0x448ff4]
lea eax, [esp + 0x40]
push eax
push ebx
call fcn.0040a8e2
add esp, 8
add dword [0x4471d8], 0xd0d31a63
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
mov ecx, dword [esp + 0x80]
imul eax, dword [ecx]
mov dword [ebx], eax
mov eax, dword [0x44a1b0]
lea ecx, [eax - 1]
mov dword [0x44a1b0], ecx
cmp eax, 0xf82b2732
je 0x409d13
add dword [0x450bac], 0x2f29c9b0
mov eax, dword [0x4529e8]
dec eax
mov dword [0x4529e8], eax
add dword [0x44bc64], eax
test esi, esi
je 0x409dac
mov dword [0x453368], 0xb4b77eb4
push ebp
push edi
call fcn.0042d402
add esp, 8
add word [0x445df8], 0x340c
push edi
push esi
call fcn.0040a8e2
add esp, 8
imul ax, word [0x43f310], 0xf7ee
mov word [0x43f310], ax
mov eax, dword [esp + 0x80]
mov eax, dword [eax]
mov dword [esi], eax
or dword [0x447dc0], 0xf57efdde
push 0
push esi
call fcn.00409dea
add esp, 8
test eax, eax
jne 0x409d8c
mov dword [esi], 1
mov eax, dword [0x4518f8]
dec eax
mov dword [0x4518f8], eax
xor eax, 0x7758
movzx ecx, word [0x4459ae]
add ecx, eax
mov word [0x4459ae], cx
add dword [0x447120], 0x789e7fff
xor esi, esi
push 0
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x5c]
push eax
push edi
call fcn.0040495d
add esp, 0x18
xor word [0x43f304], 0x5856
mov eax, esi
add esp, 0x64
pop esi
pop edi
pop ebx
pop ebp
ret