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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x46105e
mov eax, dword fs:[0]
push eax
sub esp, 0x190
mov eax, dword [0x484084]
xor eax, esp
mov dword [esp + 0x188], eax
push ebx
push esi
push edi
mov eax, dword [0x484084]
xor eax, esp
push eax
lea eax, [esp + 0x1a0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ebx, ecx
mov edi, edx
lea esi, [ebx + 0x30]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x40], eax
cmp dword [esi], edi
je 0x437865
call fcn.00404675
mov edi, dword [esp + 0x40]
lea esi, [ebx + 0x34]
cmp dword [esi], edi
je 0x437875
call fcn.00404675
push 0x465804
push dword [0x48586c]
mov esi, edi
lea ebx, [esp + 0x94]
call fcn.00454b8e
pop ecx
pop ecx
xor ebx, ebx
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x34], 0x3c
mov dword [esp + 0x18], 0x16
mov dword [esp + 0x30], 0x14
mov dword [esp + 0x14], 0x45
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
imul eax, ecx
mov ecx, dword [esp + 0x30]
imul ecx, ecx, 0xffffffc0
sub ecx, eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
imul eax, edx
add ecx, eax
mov eax, dword [esp + 0x18]
imul eax, eax, 0xf
add ecx, eax
mov eax, dword [esp + 0x18]
sub ecx, eax
mov eax, dword [esp + 0x18]
sub ecx, eax
mov eax, dword [esp + 0x14]
lea eax, [ecx + eax - 0x19]
add eax, dword [esp + 0x30]
add eax, dword [esp + 0x18]
add eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jg 0x43794f
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jne 0x43794f
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
cmp eax, ecx
jl 0x43794f
mov eax, dword [esp + 0x34]
xor ecx, ecx
inc ecx
sub ecx, eax
add ecx, dword [esp + 0x18]
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x14]
imul eax, eax, 0x63
mov dword [esp + 0x34], eax
push SysReAllocString
push dword [0x48595c]
push dword [esp + 0x48]
call fcn.00454969
add esp, 0xc
push 0x80088
push dword [0x485960]
mov dword [esp + 0x5c], eax
push dword [esp + 0x48]
call fcn.00454969
add esp, 0xc
cmp dword [esp + 0xa0], 8
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x8c]
jae 0x43799d
lea eax, [esp + 0x8c]
cmp eax, ebx
je 0x4379bd
cmp dword [esp + 0xa0], 8
jb 0x4379b4
mov eax, dword [esp + 0x8c]
jmp 0x4379c2
lea eax, [esp + 0x8c]
jmp 0x4379c2
mov eax, dword [0x4858b8]
push eax
lea eax, [esp + 0x110]
call fcn.00405836
push 0xfde9
lea edx, [esp + 0x110]
lea ecx, [esp + 0x12c]
mov byte [esp + 0x1ac], 1
call fcn.00454e9c
pop ecx
mov byte [esp + 0x1a8], 2
cmp dword [eax + 0x14], 0x10
jb 0x437a00
mov eax, dword [eax]
push eax
push dword [0x48562c]
push dword [0x485628]
push ebx
call fcn.0044467b
add esp, 0x10
push 1
xor edi, edi
lea esi, [esp + 0x12c]
call fcn.004053cb
push 1
lea esi, [esp + 0x110]
mov byte [esp + 0x1ac], bl
call fcn.0040570f
cmp dword [esp + 0x9c], ebx
jne 0x437a4b
push 1
jmp 0x4385f6
cmp dword [esp + 0xa0], 8
mov eax, dword [esp + 0x8c]
jae 0x437a63
lea eax, [esp + 0x8c]
push 0x2010
push ebx
push ebx
push ebx
push eax
push ebx
call fcn.00445d05
mov esi, dword [esp + 0x1c]
mov edi, eax
mov eax, dword [esi + 0x38]
cmp eax, ebx
je 0x437a8a
cmp eax, edi
je 0x437a8a
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, edi
mov dword [esi + 0x38], edi
cmp ecx, ebx
jne 0x437b55
cmp dword [esp + 0xa0], 8
mov eax, dword [esp + 0x8c]
jae 0x437aaf
lea eax, [esp + 0x8c]
cmp eax, ebx
je 0x437acf
cmp dword [esp + 0xa0], 8
jb 0x437ac6
mov eax, dword [esp + 0x8c]
jmp 0x437ad4
lea eax, [esp + 0x8c]
jmp 0x437ad4
mov eax, dword [0x4858b8]
push eax
lea eax, [esp + 0xf4]
call fcn.00405836
push 0xfde9
lea edx, [esp + 0xf4]
lea ecx, [esp + 0x164]
mov byte [esp + 0x1ac], 3
call fcn.00454e9c
pop ecx
mov byte [esp + 0x1a8], 4
cmp dword [eax + 0x14], 0x10
jb 0x437b14
mov esi, dword [eax]
jmp 0x437b16
mov esi, eax
call fcn.00444fcc
call dword [eax + 0x40]
push esi
push eax
push dword [0x485630]
xor ebx, ebx
inc ebx
push ebx
call fcn.0044467b
add esp, 0x10
push ebx
xor edi, edi
lea esi, [esp + 0x164]
call fcn.004053cb
lea esi, [esp + 0xf0]
xor edi, edi
push ebx
call fcn.0040570f
jmp 0x4385f5
xor eax, eax
mov dword [esp + 0x74], ebx
lea edi, [esp + 0x78]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, dword [sym.imp.GDI32.dll_GetObjectW]
lea eax, [esp + 0x74]
push eax
push 0x18
push ecx
call edi
test eax, eax
je 0x438456
mov eax, dword [esp + 0x78]
mov dword [esi + 0x44], eax
mov eax, dword [esp + 0x7c]
mov dword [esi + 0x48], eax
cmp dword [esi + 0x44], ebx
je 0x438456
cmp eax, ebx
je 0x438456
push ebx
push dword [0x485954]
push dword [esp + 0x48]
call fcn.00454ab2
add esp, 0xc
cmp eax, ebx
jg 0x437bb5
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x44]
cmp eax, ecx
jle 0x437bbe
mov eax, ecx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
push ebx
mov dword [esi + 0x4c], ebx
push dword [0x485964]
push dword [esp + 0x48]
call fcn.00454969
mov ecx, eax
add esp, 0xc
cmp ecx, ebx
jne 0x437be6
push 2
pop ecx
xor edx, edx
mov eax, 0x3e8
div ecx
mov dword [esi + 0x50], eax
mov dword [esp + 0x30], 0x3c
mov dword [esp + 0x18], 0x16
mov dword [esp + 0x34], 0x14
mov dword [esp + 0x14], 0x45
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
imul eax, ecx
mov ecx, dword [esp + 0x34]
imul ecx, ecx, 0xffffffc0
sub ecx, eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
imul eax, edx
add ecx, eax
mov eax, dword [esp + 0x18]
imul eax, eax, 0xf
add ecx, eax
mov eax, dword [esp + 0x18]
sub ecx, eax
mov eax, dword [esp + 0x18]
sub ecx, eax
mov eax, dword [esp + 0x14]
lea eax, [ecx + eax - 0x19]
add eax, dword [esp + 0x34]
add eax, dword [esp + 0x18]
add eax, dword [esp + 0x30]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jg 0x437ca8
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jne 0x437ca8
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
jl 0x437ca8
mov eax, dword [esp + 0x30]
xor ecx, ecx
inc ecx
sub ecx, eax
add ecx, dword [esp + 0x18]
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x14]
imul eax, eax, 0x63
mov dword [esp + 0x30], eax
push 0x18
lea eax, [esp + 0x60]
push ebx
push eax
call fcn.00413e50
add esp, 0xc
lea eax, [esp + 0x5c]
push eax
push 0x18
push dword [esi + 0x38]
call edi
fld qword [0x47ed18]
fst qword [esp + 0x1c]
fld qword [0x47ede8]
fst qword [esp + 0x4c]
fld qword [0x47ed10]
fst qword [esp + 0x4c]
fld qword [0x47ed38]
fst qword [esp + 0x24]
fld qword [esp + 0x4c]
fld qword [esp + 0x4c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x437d09
fld qword [esp + 0x4c]
fadd qword [esp + 0x1c]
fstp qword [esp + 0x4c]
cmp word [esp + 0x6c], 1
jne 0x438399
cmp word [esp + 0x6e], 0x20
jne 0x438399
mov edi, dword [esp + 0x70]
fld qword [0x47ece8]
fstp qword [esp + 0x24]
fld qword [0x47ece0]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fadd qword [esp + 0x24]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fsub qword [esp + 0x1c]
fld qword [esp + 0x1c]
fld qword [0x47ecd8]
fdiv st(1), st(0)
fxch st(2)
faddp st(1)
fstp qword [esp + 0x24]
fld qword [esp + 0x1c]
fmul qword [esp + 0x24]
fsub qword [0x47ecd0]
fld qword [esp + 0x1c]
fmulp st(2)
fsubrp st(1)
fsub qword [esp + 0x24]
fstp qword [esp + 0x24]
fld qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fsub qword [0x47ecc8]
fstp qword [esp + 0x24]
fld qword [esp + 0x24]
mov eax, dword [esp + 0x64]
fmul qword [0x47ecc0]
dec eax
mov dword [esp + 0x50], eax
fstp qword [esp + 0x1c]
cmp eax, ebx
jl 0x438046
fld qword [0x47edf8]
mov dword [esp + 0x4c], ebx
cmp dword [esp + 0x60], ebx
jle 0x43803a
movzx ecx, byte [edi + 2]
movzx eax, byte [edi + 3]
imul eax, ecx
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fdiv st(1)
call fcn.0045ba46
mov byte [edi + 2], al
mov dword [esp + 0x14], 0x1e
mov dword [esp + 0x24], 0x52
mov dword [esp + 0x44], 0x3b
mov dword [esp + 0x34], 0x47
mov dword [esp + 0x18], 0x3e
mov dword [esp + 0x14], 0x50
mov dword [esp + 0x30], 0x2f
mov dword [esp + 0x34], 0x22
mov dword [esp + 0x1c], 0x4a
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
imul eax, ecx
mov ecx, dword [esp + 0x34]
imul ecx, ecx, 0x3f
sub eax, ecx
mov ecx, dword [esp + 0x14]
sub eax, ecx
mov ecx, dword [esp + 0x34]
lea eax, [eax + ecx - 0x20]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jge 0x437ec8
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x44]
imul eax, eax, 0x5e
sub ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
imul eax, eax, 0x57
sub eax, ecx
add eax, dword [esp + 0x14]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x14]
imul eax, eax, 0x16
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
imul eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
add eax, 0x5e
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
sub eax, ecx
mov dword [esp + 0x1c], eax
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 3]
imul eax, ecx
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fdiv st(1)
call fcn.0045ba46
mov byte [edi + 1], al
mov dword [esp + 0x14], 0x46
mov dword [esp + 0x18], 0x37
mov eax, dword [esp + 0x18]
push 0xfffffffffffffffb
pop ecx
sub ecx, eax
add ecx, dword [esp + 0x14]
push 0x19
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
imul ecx, eax
mov eax, dword [esp + 0x18]
cdq
pop ebx
idiv ebx
push 0xfffffffffffffff4
pop ebx
add ecx, eax
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
imul eax, eax, 0x12
sub eax, ecx
mov ecx, dword [esp + 0x14]
shl eax, 2
sub eax, ecx
add eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
add eax, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
imul eax, eax, 9
add eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
imul ecx, eax
mov eax, dword [esp + 0x18]
cdq
idiv ebx
sub eax, ecx
mov ecx, dword [esp + 0x14]
sub eax, ecx
mov ecx, dword [esp + 0x14]
sub eax, ecx
mov ecx, dword [esp + 0x14]
sub eax, ecx
mov ecx, dword [esp + 0x14]
sub eax, ecx
mov ecx, dword [esp + 0x18]
sub eax, ecx
mov ecx, dword [esp + 0x18]
lea eax, [eax + ecx + 7]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
sub eax, ecx
add eax, dword [esp + 0x14]
add eax, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
sub eax, ecx
movzx ecx, byte [edi]
mov dword [esp + 0x18], eax
movzx eax, byte [edi + 3]
imul eax, ecx
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fdiv st(1)
call fcn.0045ba46
fxch st(4)
mov byte [edi], al
fst qword [esp + 0x24]
fxch st(3)
fst qword [esp + 0x1c]
fxch st(2)
fst qword [esp + 0x1c]
fxch st(1)
fst qword [esp + 0x44]
fld qword [esp + 0x1c]
fld qword [esp + 0x1c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x438017
fld qword [esp + 0x1c]
fadd qword [esp + 0x24]
fstp qword [esp + 0x1c]
inc dword [esp + 0x4c]
fxch st(3)
mov eax, dword [esp + 0x4c]
fxch st(4)
fxch st(2)
add edi, 4
fxch st(3)
fxch st(1)
fxch st(2)
cmp eax, dword [esp + 0x60]
jl 0x437dc4
xor ebx, ebx
dec dword [esp + 0x50]
jns 0x437db6
fstp st(0)
fstp st(3)
push ebx
push dword [0x48594c]
fstp st(1)
fstp st(0)
mov dword [esp + 0xb0], ebx
push dword [esp + 0x48]
fstp st(0)
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
call fcn.00454ab2
add esp, 0xc
push ebx
push dword [0x485950]
mov dword [esp + 0xb0], eax
push dword [esp + 0x48]
call fcn.00454ab2
fld qword [0x47ecd0]
mov dword [esp + 0xb8], eax
fst qword [esp + 0x30]
fld qword [0x47ede0]
add esp, 0xc
fstp qword [esp + 0x44]
fld qword [0x47edd8]
fst qword [esp + 0x1c]
fld qword [0x47edd0]
fstp qword [esp + 0x34]
fld qword [esp + 0x34]
fsub qword [0x47edf0]
fsub qword [esp + 0x24]
fstp qword [esp + 0x44]
fld qword [esp + 0x1c]
fmul qword [esp + 0x24]
fstp qword [esp + 0x24]
fld qword [esp + 0x1c]
fld qword [esp + 0x24]
fmul qword [0x47edc8]
fsubp st(1)
fsub qword [esp + 0x1c]
fsub qword [esp + 0x24]
fld qword [esp + 0x1c]
fmul qword [0x47edc0]
fsubp st(1)
fadd qword [esp + 0x1c]
fstp qword [esp + 0x34]
fld qword [esp + 0x24]
fadd qword [0x47edb8]
fsub qword [esp + 0x1c]
fadd qword [esp + 0x24]
fsub qword [esp + 0x34]
fld qword [esp + 0x34]
fmulp st(2)
fsubrp st(1)
fld qword [esp + 0x44]
fmul qword [0x47edb0]
faddp st(1)
fadd qword [esp + 0x24]
fld qword [esp + 0x44]
fld qword [0x47eda8]
fmul st(1), st(0)
fld qword [esp + 0x24]
fmulp st(2)
fxch st(2)
faddp st(1)
fstp qword [esp + 0x44]
fld qword [esp + 0x1c]
fadd qword [esp + 0x44]
fstp qword [esp + 0x34]
fld qword [esp + 0x1c]
fld qword [esp + 0x24]
fucompp
fnstsw ax
fld qword [0x47ed78]
fld qword [0x47ed70]
fld qword [0x47ed68]
test ah, 0x44
jp 0x43820c
fld qword [esp + 0x34]
fadd qword [0x47eda0]
fsub qword [esp + 0x1c]
faddp st(4)
fld qword [esp + 0x1c]
fsubp st(4)
fxch st(3)
fsub qword [0x47ed98]
fld qword [esp + 0x44]
fmul qword [esp + 0x24]
faddp st(1)
fstp qword [esp + 0x44]
fld qword [esp + 0x24]
fcomp qword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x43820e
fld qword [esp + 0x34]
fmul qword [esp + 0x44]
fsub qword [0x47ed90]
fadd qword [esp + 0x34]
fld qword [esp + 0x1c]
fmul qword [0x47ed88]
fmul qword [0x47ed80]
fsubp st(1)
fadd qword [esp + 0x1c]
fadd st(2)
fadd qword [esp + 0x24]
fsub qword [esp + 0x44]
fadd st(1)
fadd qword [esp + 0x44]
fld qword [esp + 0x44]
fmul st(4)
fsubp st(1)
fstp qword [esp + 0x34]
jmp 0x43820e
fstp st(3)
mov eax, dword [esi + 0x3c]
fld qword [0x47ece8]
add eax, dword [esp + 0xa8]
mov dword [esp + 0xb0], eax
fst qword [esp + 0x24]
fld qword [0x47ece0]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fadd qword [esp + 0x24]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fsub qword [esp + 0x1c]
fld qword [esp + 0x1c]
fld qword [0x47ecd8]
fdiv st(1), st(0)
fxch st(2)
faddp st(1)
fstp qword [esp + 0x24]
fld qword [esp + 0x1c]
fmul qword [esp + 0x24]
fsubrp st(6)
fmul qword [esp + 0x1c]
fsubp st(5)
fld qword [esp + 0x24]
fsubp st(5)
fxch st(4)
fstp qword [esp + 0x24]
fld qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fsub qword [0x47ecc8]
fstp qword [esp + 0x24]
fld qword [esp + 0x24]
mov eax, dword [esi + 0x40]
fmul qword [0x47ecc0]
add eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
fstp qword [esp + 0x1c]
fld qword [0x47ed08]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fadd qword [0x47ed00]
fadd qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fsub qword [0x47ed50]
fadd qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fsubrp st(4)
fxch st(3)
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fsubrp st(3)
fxch st(2)
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fld qword [esp + 0x1c]
fdiv qword [0x47ecf8]
faddp st(1)
fld qword [esp + 0x1c]
fmul qword [0x47ed38]
faddp st(1)
fadd qword [esp + 0x1c]
fld qword [esp + 0x1c]
fmul qword [0x47ede8]
faddp st(1)
fstp qword [esp + 0x1c]
fsubr qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fld qword [esp + 0x1c]
fmul qword [0x47ecf0]
fsubp st(1)
fsub qword [esp + 0x1c]
fld qword [esp + 0x1c]
fmul qword [esp + 0x1c]
faddp st(1)
fsub qword [esp + 0x1c]
fld qword [esp + 0x1c]
fmulp st(2)
push ecx
faddp st(1)
mov eax, esp
mov dword [eax], ebx
fstp qword [esp + 0x20]
mov dword [esp + 0x20], esp
push dword [esp + 0x5c]
push dword [esp + 0x5c]
push ecx
mov eax, esp
lea ecx, [esp + 0xb8]
mov dword [eax], ecx
mov eax, esi
mov dword [esp + 0x64], esp
call fcn.0040b745
push 1
xor edi, edi
lea esi, [esp + 0x90]
mov ebx, eax
call fcn.0040570f
mov eax, ebx
jmp 0x438606
cmp dword [esp + 0xa0], 8
fstp st(3)
mov eax, dword [esp + 0x8c]
fstp st(1)
fstp st(0)
fstp st(0)
jae 0x4383b9
lea eax, [esp + 0x8c]
cmp eax, ebx
je 0x4383d9
cmp dword [esp + 0xa0], 8
jb 0x4383d0
mov eax, dword [esp + 0x8c]
jmp 0x4383de
lea eax, [esp + 0x8c]
jmp 0x4383de
mov eax, dword [0x4858b8]
push eax
lea eax, [esp + 0xd8]
call fcn.00405836
push 0xfde9
lea edx, [esp + 0xd8]
lea ecx, [esp + 0x148]
mov byte [esp + 0x1ac], 7
call fcn.00454e9c
pop ecx
mov byte [esp + 0x1a8], 8
cmp dword [eax + 0x14], 0x10
jb 0x43841c
mov eax, dword [eax]
push eax
movzx eax, word [esp + 0x72]
push eax
movzx eax, word [esp + 0x74]
push eax
push dword [0x485638]
xor ebx, ebx
inc ebx
push ebx
call fcn.0044467b
add esp, 0x14
push ebx
xor edi, edi
lea esi, [esp + 0x148]
call fcn.004053cb
lea esi, [esp + 0xd4]
jmp 0x437b48
cmp dword [esp + 0xa0], 8
mov eax, dword [esp + 0x8c]
jae 0x43846e
lea eax, [esp + 0x8c]
cmp eax, ebx
je 0x43848e
cmp dword [esp + 0xa0], 8
jb 0x438485
mov eax, dword [esp + 0x8c]
jmp 0x438493
lea eax, [esp + 0x8c]
jmp 0x438493
mov eax, dword [0x4858b8]
push eax
lea eax, [esp + 0xbc]
call fcn.00405836
push 0xfde9
lea edx, [esp + 0xbc]
lea ecx, [esp + 0x180]
mov byte [esp + 0x1ac], 5
call fcn.00454e9c
pop ecx
mov byte [esp + 0x1a8], 6
cmp dword [eax + 0x14], 0x10
jb 0x4384d3
mov edi, dword [eax]
jmp 0x4384d5
mov edi, eax
call fcn.00444fcc
call dword [eax + 0x40]
push edi
push eax
push dword [esi + 0x48]
xor ebx, ebx
push dword [esi + 0x44]
inc ebx
push dword [0x485634]
push ebx
call fcn.0044467b
add esp, 0x18
push ebx
xor edi, edi
lea esi, [esp + 0x180]
call fcn.004053cb
push ebx
lea esi, [esp + 0xbc]
call fcn.0040570f
mov dword [esp + 0x14], 0x46
mov dword [esp + 0x18], 0x37
mov eax, dword [esp + 0x18]
push 0xfffffffffffffffb
pop ecx
sub ecx, eax
add ecx, dword [esp + 0x14]
push 0x19
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
imul ecx, eax
mov eax, dword [esp + 0x18]
cdq
pop esi
idiv esi
push 0xfffffffffffffff4
pop esi
add ecx, eax
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
imul eax, eax, 0x12
sub eax, ecx
mov ecx, dword [esp + 0x14]
shl eax, 2
sub eax, ecx
add eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
add eax, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
imul eax, eax, 9
add eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
imul ecx, eax
mov eax, dword [esp + 0x18]
cdq
idiv esi
sub eax, ecx
mov ecx, dword [esp + 0x14]
sub eax, ecx
mov ecx, dword [esp + 0x14]
sub eax, ecx
mov ecx, dword [esp + 0x14]
sub eax, ecx
mov ecx, dword [esp + 0x14]
sub eax, ecx
mov ecx, dword [esp + 0x18]
sub eax, ecx
mov ecx, dword [esp + 0x18]
lea eax, [eax + ecx + 7]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
sub eax, ecx
add eax, dword [esp + 0x14]
add eax, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
sub eax, ecx
mov dword [esp + 0x18], eax
push ebx
xor edi, edi
lea esi, [esp + 0x90]
call fcn.0040570f
xor eax, eax
mov ecx, dword [esp + 0x1a0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x188]
xor ecx, esp
call fcn.00411d83
mov esp, ebp
pop ebp
ret 4