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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2e4
push ebx
mov ebx, ecx
mov eax, dword [ebx + 8]
push esi
push edi
lea ecx, [eax + 0x80914]
call fcn.0045787d
mov ecx, eax
call fcn.0045dd87
fstp dword [esp + 0x14]
fld1
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0xcc]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [esp + 0x20]
fstp dword [esp]
push eax
call fcn.0046914b
add esp, 0x10
lea ecx, [esp + 0x80]
call fcn.004078f0
lea ecx, [esp + 0x1b0]
call fcn.004078f0
mov eax, dword [ebx + 8]
push 2
push 2
push 0
lea ecx, [eax + 0x80914]
call fcn.0045787d
mov ecx, eax
call fcn.0045fb13
fldz
mov eax, dword [ebx + 0x2eac]
imul eax, eax, 0x94
lea ecx, [eax + ebx + 0x13c8]
mov eax, dword [ecx]
push 0xffffffffffffffff
push ecx
push ecx
lea edx, [esp + 0xcc]
fst dword [esp + 4]
fstp dword [esp]
push edx
call dword [eax + 0x5c]
lea eax, [esp + 0x2b0]
push eax
call fcn.00469088
pop ecx
mov eax, ebx
call fcn.004274a8
fld dword [esp + 0x14]
fmul qword [0x6b9de0]
sub esp, 0xc
lea eax, [esp + 0x134]
fstp dword [esp + 0x38]
fldz
fstp dword [esp + 8]
fld dword [esp + 0x20]
fmul qword [0x6ba310]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
push eax
call fcn.004690e4
add esp, 0x10
push eax
lea ecx, [esp + 0x84]
call fcn.00407a2f
fldz
lea ecx, [ebx + 0x2f18]
mov eax, dword [ecx]
push ecx
push ecx
fst dword [esp + 4]
fstp dword [esp]
call dword [eax + 4]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
push ecx
lea eax, [esp + 0x134]
fmul dword [esp + 0x20]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
push eax
call fcn.004690e4
add esp, 0x10
push eax
lea ecx, [esp + 0x1b4]
call fcn.00407a2f
lea eax, [esp + 0x1b0]
push eax
lea eax, [esp + 0x12c]
push eax
lea ecx, [esp + 0xc8]
call fcn.0040a033
push eax
lea eax, [ebx + 0x19cc]
push eax
call fcn.0043b45e
lea ecx, [ebx + 0x1878]
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esp + 0x18], eax
imul eax, eax, 0xff
cdq
push 0x64
pop ecx
idiv ecx
push 0x78
and dword [esp + 0x2c], 0
cdq
idiv ecx
pop ecx
mov esi, eax
mov eax, dword [ebx + 0x1df8]
sub eax, dword [ebx + 0x1df4]
mov dword [esp + 0x20], esi
cdq
idiv ecx
test eax, eax
jle 0x425f5c
mov eax, esi
shl eax, 0x18
or eax, 0xffffff
lea ecx, [ebx + 0x1ea4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], ecx
jmp 0x425f15
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
sub esp, 0x40
push 0x10
pop ecx
mov edi, esp
lea esi, [esp + 0x100]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x5c]
push eax
call dword [edx + 0x48]
mov eax, dword [ebx + 0x1df8]
sub eax, dword [ebx + 0x1df4]
push 0x78
cdq
pop ecx
idiv ecx
inc dword [esp + 0x28]
add dword [esp + 0x1c], 0x84
cmp dword [esp + 0x28], eax
jl 0x425f11
mov esi, dword [esp + 0x20]
fldz
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0x134]
fld dword [esp + 0x38]
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
push eax
call fcn.004690e4
add esp, 0x10
push eax
lea ecx, [esp + 0x84]
call fcn.00407a2f
lea ecx, [ebx + 0x17d4]
mov eax, dword [ecx]
lea edx, [esp + 0x78]
push edx
call dword [eax + 0x1c]
mov ecx, 0x2710
sub ecx, dword [esp + 0x18]
sub esp, 0xc
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fimul dword [eax]
lea eax, [esp + 0x134]
fld qword [0x6b9ef0]
fdiv st(1), st(0)
fdivp st(1)
fmul qword [0x6b9fe8]
fstp dword [esp + 0x18]
fldz
fst dword [esp + 8]
fstp dword [esp + 4]
fld dword [esp + 0x18]
fmul dword [esp + 0x20]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
push eax
call fcn.004690e4
add esp, 0x10
push eax
lea ecx, [esp + 0x1b4]
call fcn.00407a2f
fldz
shl esi, 0x18
mov edi, 0xffffff
or esi, edi
push esi
push ecx
push ecx
fst dword [esp + 4]
lea eax, [esp + 0x1bc]
fstp dword [esp]
push eax
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0xdc]
call fcn.0040a033
mov ecx, eax
call fcn.0040a033
push eax
xor eax, eax
push eax
push eax
lea ecx, [ebx + 0x1868]
call fcn.004acdec
lea ecx, [ebx + 0x2ef0]
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x168]
push eax
or esi, 0xffffffff
call fcn.00469088
pop ecx
cmp byte [ebx + 0x2eb8], 0
je 0x4260f3
mov eax, dword [esp + 0x20]
fldz
imul eax, eax, 0xff
push 0x64
cdq
pop ecx
idiv ecx
sub esp, 0xc
fst dword [esp + 8]
push ecx
mov esi, eax
pop eax
sub eax, dword [esp + 0x2c]
shl esi, 0x18
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
lea eax, [esp + 0x44]
or esi, edi
fmul qword [0x6ba2d8]
fdiv qword [0x6b9ef0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul dword [esp + 0x20]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fstp dword [esp]
push eax
call fcn.004690e4
add esp, 0x10
push eax
lea ecx, [esp + 0x16c]
call fcn.00407a2f
push esi
lea eax, [esp + 0x16c]
push eax
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0xcc]
call fcn.0040a033
push eax
lea eax, [ebx + 0x21dc]
push eax
call fcn.0043b47d
mov eax, dword [ebx + 0x21f8]
sub eax, dword [ebx + 0x21f4]
push 0x78
cdq
pop ecx
idiv ecx
and dword [esp + 0x1c], 0
test eax, eax
jle 0x4268d1
lea eax, [ebx + 0x2e88]
mov dword [esp + 0x2c], eax
lea eax, [ebx + 0x2210]
mov dword [esp + 0x20], eax
lea eax, [ebx + 0x26b4]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x1c]
mov eax, ecx
cdq
push 3
pop edi
idiv edi
mov dword [esp + 0x24], eax
and eax, 0x80000001
mov dword [esp + 0x18], edx
jns 0x426177
dec eax
or eax, 0xfffffffe
inc eax
cmp byte [ebx + ecx + 0x2e58], 0
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fmul qword [0x6b9f88]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fild dword [esp + 0x18]
fmul qword [0x6b9f80]
faddp st(1)
fstp dword [esp + 0x30]
fild dword [esp + 0x24]
fmul qword [0x6b9f70]
fstp dword [esp + 0x24]
je 0x426259
fldz
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0x44]
fld dword [esp + 0x30]
fadd qword [0x6ba308]
fmul dword [esp + 0x20]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fld dword [esp + 0x3c]
fadd qword [0x6ba300]
fmul dword [esp + 0x20]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
push eax
call fcn.004690e4
add esp, 0x10
push eax
lea ecx, [esp + 0x84]
call fcn.00407a2f
fldz
mov eax, dword [esp + 0x28]
mov edi, dword [eax]
push esi
push ecx
push ecx
fst dword [esp + 4]
lea eax, [esp + 0x174]
fstp dword [esp]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0xdc]
call fcn.0040a033
mov ecx, eax
call fcn.0040a033
mov ecx, dword [esp + 0x34]
push eax
call dword [edi + 0x5c]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
lea edx, [esp + 0x1a8]
push edx
call dword [eax + 0x30]
cmp dword [eax + 4], 0xffffd8f1
je 0x4264f8
fldz
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0x44]
fld dword [esp + 0x30]
fadd qword [0x6ba2f8]
fmul dword [esp + 0x20]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fld dword [esp + 0x3c]
fadd qword [0x6ba2f0]
fmul dword [esp + 0x20]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
push eax
call fcn.004690e4
add esp, 0x10
push eax
lea ecx, [esp + 0x84]
call fcn.00407a2f
fldz
mov edi, dword [ebx + 0x2be8]
push esi
push ecx
push ecx
fst dword [esp + 4]
lea eax, [esp + 0x174]
fstp dword [esp]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0xdc]
call fcn.0040a033
mov ecx, eax
call fcn.0040a033
push eax
lea ecx, [ebx + 0x2be8]
call dword [edi + 0x5c]
mov eax, dword [ebx + 0x2eb0]
mov ecx, dword [esp + 0x1c]
imul eax, eax, 9
lea eax, [eax + ecx + 1]
mov dword [esp + 0xc], eax
lea edi, [esp + 0x1f0]
mov dword [esp + 0x18], 2
mov ecx, edi
call fcn.004078f0
add edi, 0x40
dec dword [esp + 0x18]
jns 0x42633d
fld dword [esp + 0x24]
and dword [esp + 0x18], 0
fadd qword [0x6ba2e8]
lea edi, [esp + 0x1f0]
fmul dword [esp + 0x14]
fstp dword [esp + 0x34]
fld dword [esp + 0x30]
fadd qword [0x6ba2e0]
fstp qword [esp + 0x118]
fldz
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0x44]
fld dword [esp + 0x40]
fstp dword [esp + 4]
fild dword [esp + 0x24]
fmul qword [0x6ba238]
fadd qword [esp + 0x124]
fmul dword [esp + 0x20]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push eax
call fcn.004690e4
add esp, 0x10
push eax
mov ecx, edi
call fcn.00407a2f
inc dword [esp + 0x18]
add edi, 0x40
cmp dword [esp + 0x18], 3
jb 0x42637c
mov eax, dword [esp + 0xc]
fldz
push 0x64
pop ecx
cdq
idiv ecx
push 0xa
pop ecx
push esi
push ecx
push ecx
lea edi, [ebx + 0x2d10]
fst dword [esp + 4]
fstp dword [esp]
cdq
idiv ecx
lea eax, [esp + 0x174]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x204]
push eax
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0xdc]
mov dword [esp + 0x11c], edx
call fcn.0040a033
mov ecx, eax
call fcn.0040a033
push eax
xor eax, eax
push eax
push dword [esp + 0x114]
mov ecx, edi
call fcn.004acdec
fldz
mov eax, dword [esp + 0xc]
push 0xa
pop ecx
cdq
idiv ecx
push esi
push ecx
push ecx
fst dword [esp + 4]
fstp dword [esp]
mov dword [esp + 0x1c], edx
cdq
idiv ecx
lea eax, [esp + 0x174]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x244]
push eax
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0xdc]
mov dword [esp + 0x13c], edx
call fcn.0040a033
mov ecx, eax
call fcn.0040a033
push eax
xor eax, eax
push eax
push dword [esp + 0x134]
mov ecx, edi
call fcn.004acdec
fldz
and dword [esp + 0x10c], 0
push esi
push ecx
push ecx
fst dword [esp + 4]
lea eax, [esp + 0x174]
fstp dword [esp]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x284]
push eax
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0xdc]
call fcn.0040a033
mov ecx, eax
call fcn.0040a033
push eax
push dword [esp + 0x11c]
mov ecx, edi
push dword [esp + 0x24]
call fcn.004acdec
mov eax, dword [esp + 0x1c]
cmp byte [ebx + eax + 0x2e58], 0
je 0x42689c
fld dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
fadd qword [0x6ba368]
mov edi, dword [eax - 0x24]
mov eax, dword [eax]
sub esp, 0xc
fstp dword [esp + 0x1c]
mov dword [esp + 0x24], eax
fld dword [esp + 0x1c]
lea eax, [esp + 0x44]
fmul dword [esp + 0x20]
fstp dword [esp + 0x18]
fldz
fstp dword [esp + 8]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fld dword [esp + 0x3c]
fadd qword [0x6ba360]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul dword [esp + 0x20]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push eax
call fcn.004690e4
add esp, 0x10
push eax
lea ecx, [esp + 0x84]
call fcn.00407a2f
fldz
push 0xa
pop ecx
mov eax, edi
cdq
idiv ecx
push esi
push ecx
push ecx
lea ecx, [esp + 0xcc]
lea edi, [ebx + 0x2d10]
fst dword [esp + 4]
fstp dword [esp]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x174]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x140]
push eax
mov dword [esp + 0x50], edx
call fcn.0040a033
mov ecx, eax
call fcn.0040a033
push eax
xor eax, eax
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.004acdec
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x18]
lea eax, [esp + 0x44]
fstp dword [esp + 4]
fld dword [esp + 0x3c]
fadd qword [0x6ba358]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul dword [esp + 0x20]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push eax
call fcn.004690e4
add esp, 0x10
push eax
lea ecx, [esp + 0x84]
call fcn.00407a2f
fldz
and dword [esp + 0x114], 0
push esi
push ecx
push ecx
fst dword [esp + 4]
lea eax, [esp + 0x174]
fstp dword [esp]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0xdc]
call fcn.0040a033
mov ecx, eax
call fcn.0040a033
push eax
push dword [esp + 0x124]
mov ecx, edi
push dword [esp + 0x48]
call fcn.004acdec
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x30]
lea eax, [esp + 0x44]
fadd qword [0x6ba350]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul dword [esp + 0x20]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 4]
fld dword [esp + 0x3c]
fadd qword [0x6ba348]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul dword [esp + 0x20]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push eax
call fcn.004690e4
add esp, 0x10
push eax
lea ecx, [esp + 0x84]
call fcn.00407a2f
fldz
mov edi, dword [ebx + 0x2dc4]
push esi
push ecx
push ecx
fst dword [esp + 4]
lea eax, [esp + 0x174]
fstp dword [esp]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0xdc]
call fcn.0040a033
mov ecx, eax
call fcn.0040a033
push eax
lea ecx, [ebx + 0x2dc4]
call dword [edi + 0x5c]
fld dword [esp + 0x24]
fadd qword [0x6ba340]
sub esp, 0xc
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul dword [esp + 0x20]
fstp dword [esp + 0x18]
fldz
fstp dword [esp + 8]
lea eax, [esp + 0x44]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fld dword [esp + 0x3c]
fadd qword [0x6ba338]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul dword [esp + 0x20]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push eax
call fcn.004690e4
add esp, 0x10
push eax
lea ecx, [esp + 0x84]
call fcn.00407a2f
fldz
mov eax, dword [esp + 0x18]
push 0xa
pop ecx
cdq
idiv ecx
push esi
push ecx
push ecx
lea ecx, [esp + 0xcc]
lea edi, [ebx + 0x2db4]
fst dword [esp + 4]
fstp dword [esp]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x174]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x140]
push eax
mov dword [esp + 0x50], edx
call fcn.0040a033
mov ecx, eax
call fcn.0040a033
push eax
xor eax, eax
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.004acdec
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x18]
lea eax, [esp + 0x44]
fstp dword [esp + 4]
fld dword [esp + 0x3c]
fadd qword [0x6ba330]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul dword [esp + 0x20]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push eax
call fcn.004690e4
add esp, 0x10
push eax
lea ecx, [esp + 0x84]
call fcn.00407a2f
fldz
and dword [esp + 0x7c], 0
push esi
push ecx
push ecx
fst dword [esp + 4]
lea eax, [esp + 0x174]
fstp dword [esp]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0xdc]
call fcn.0040a033
mov ecx, eax
call fcn.0040a033
push eax
push dword [esp + 0x8c]
mov ecx, edi
push dword [esp + 0x48]
call fcn.004acdec
mov eax, dword [ebx + 0x21f8]
sub eax, dword [ebx + 0x21f4]
push 0x78
cdq
pop ecx
idiv ecx
inc dword [esp + 0x1c]
add dword [esp + 0x2c], 4
add dword [esp + 0x28], 0x94
add dword [esp + 0x20], 0x84
cmp dword [esp + 0x1c], eax
jl 0x426157
lea eax, [esp + 0xc0]
push eax
lea eax, [ebx + 0x10]
call fcn.0043f1a9
fldz
sub esp, 0xc
fst dword [esp + 8]
fst dword [esp + 4]
lea eax, [esp + 0x44]
fstp dword [esp]
push eax
call fcn.004690e4
add esp, 0x10
push eax
lea ecx, [esp + 0x84]
call fcn.00407a2f
fldz
push 0xffffffffffffffff
push ecx
push ecx
fst dword [esp + 4]
lea eax, [esp + 0x8c]
fstp dword [esp]
push eax
lea eax, [esp + 0x48]
lea esi, [ebx + 0x1740]
mov edi, dword [esi]
push eax
lea ecx, [esp + 0xd4]
call fcn.0040a033
push eax
mov ecx, esi
call dword [edi + 0x5c]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebx + 8]
cmp dword [eax + 0x2060], 1
jne 0x4269c3
fldz
sub esp, 0xc
fst dword [esp + 8]
lea eax, [esp + 0x44]
fld dword [esp + 0x20]
fmul qword [0x6b9eb0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 4]
fstp dword [esp]
push eax
call fcn.004690e4
add esp, 0x10
push eax
lea ecx, [esp + 0x84]
call fcn.00407a2f
fldz
push 0xffffffffffffffff
push ecx
push ecx
fst dword [esp + 4]
lea eax, [esp + 0x8c]
fstp dword [esp]
push eax
lea eax, [esp + 0x48]
lea esi, [ebx + 0x18a0]
mov edi, dword [esi]
push eax
lea ecx, [esp + 0xd4]
call fcn.0040a033
push eax
mov ecx, esi
call dword [edi + 0x5c]
mov ebx, dword [ebx + 8]
push 1
push 1
push 0
lea ecx, [ebx + 0x80914]
call fcn.0045787d
mov ecx, eax
call fcn.0045fb13
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret