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

Disassembly:
sub esp, 0x60
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
push ebx
push ebp
push esi
push edi
push eax
push ecx
call fcn.0044eeb0
mov edx, dword [0x4b603c]
mov ebp, eax
mov eax, dword [0x4b6038]
push edx
push eax
call fcn.0044eeb0
mov edx, dword [esp + 0x8c]
mov ecx, dword [ebp + 0x2c]
push edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
call fcn.00418f00
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x94]
push eax
call fcn.00418f00
mov esi, dword [esp + 0xb0]
mov dword [esp + 0x58], eax
mov eax, esi
add esp, 0x18
fld dword [esp + 0x88]
and eax, 0xf800
fmul dword [0x49f4e8]
mov dword [esp + 0x64], eax
mov eax, esi
and eax, 0x7e0
mov dword [esp + 0x68], eax
mov eax, esi
and eax, 0x1f
mov dword [esp + 0x6c], eax
call fcn.004922ac
fld dword [esp + 0x84]
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x50], ebx
jge 0x4694df
fadd dword [0x49f4c4]
neg ebx
mov dword [esp + 0x50], ebx
fld dword [esp + 0x8c]
fmul dword [0x49f4e8]
call fcn.004922ac
test eax, eax
mov dword [esp + 0x30], eax
jge 0x469505
fadd dword [0x49f4c4]
neg eax
mov dword [esp + 0x30], eax
test ebx, ebx
je 0x469f2e
test eax, eax
je 0x469f2e
fcom dword [0x49f2e4]
fnstsw ax
test ah, 1
je 0x469553
fld st(0)
fmul dword [0x49f4e4]
call fcn.004922ac
mov ecx, eax
mov edx, 0x168
neg ecx
shl ecx, 2
sub ecx, eax
lea ecx, [ecx + ecx*8]
shl ecx, 3
sub edx, ecx
mov dword [esp + 0x84], edx
fiadd dword [esp + 0x84]
fmul dword [0x49f4e0]
call fcn.004922ac
cdq
mov ecx, 0xb40
idiv ecx
mov edi, edx
test edi, edi
jne 0x4695c1
fld dword [esp + 0x8c]
fmul dword [esp + 0x94]
push esi
push ecx
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
fstp dword [esp]
fld dword [esp + 0x90]
fmul dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x84]
fstp dword [esp]
push edx
mov edx, dword [esp + 0x84]
push eax
push ecx
push edx
call fcn.00453af0
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
cmp edi, 0x5a0
jne 0x469622
fld dword [esp + 0x8c]
fmul dword [esp + 0x94]
push esi
push ecx
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x80]
fchs
fstp dword [esp]
fld dword [esp + 0x90]
fmul dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x88]
fchs
fstp dword [esp]
push eax
mov eax, dword [esp + 0x84]
push ecx
push edx
push eax
call fcn.00453af0
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 4]
mov ecx, dword [ebp]
mov dword [esp + 0x2c], eax
lea eax, [edi + 0x2d0]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
mov ecx, 0xb40
cdq
idiv ecx
mov eax, dword [0x4b5510]
mov esi, dword [ebp + 8]
mov ecx, dword [eax + edx*4]
mov eax, edi
mov dword [esp + 0x84], ecx
mov ecx, 0xb40
cdq
fild dword [esp + 0x84]
idiv ecx
fst dword [esp + 0x48]
fmul dword [0x49f4dc]
fstp dword [esp + 0x7c]
mov eax, dword [0x4b5510]
mov ecx, dword [eax + edx*4]
mov eax, dword [esp + 0x84]
shl eax, 0x10
cdq
idiv ebx
mov dword [esp + 0x98], ecx
fild dword [esp + 0x98]
fst dword [esp + 0x44]
fmul dword [0x49f4dc]
fstp dword [esp + 0x80]
mov dword [esp + 0x84], eax
fild dword [esp + 0x84]
fdiv dword [esp + 0x90]
call fcn.004922ac
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x98]
shl eax, 0x10
cdq
idiv dword [esp + 0x30]
mov dword [esp + 0x84], eax
fild dword [esp + 0x84]
fdiv dword [esp + 0x90]
call fcn.004922ac
cmp edi, 0x2d0
mov dword [esp + 0x38], eax
jge 0x469786
mov eax, dword [esp + 0x2c]
mov edx, esi
neg edx
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x28]
fild dword [esp + 0x84]
mov ecx, eax
sub edx, esi
neg ecx
fst dword [esp + 0x14]
mov dword [esp + 0x84], ecx
dec edx
fild dword [esp + 0x84]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x24]
sub edx, eax
mov eax, dword [esp + 0x14]
fst dword [esp + 0x84]
fild dword [esp + 0x98]
dec edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x98], edx
fst dword [esp + 0x18]
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
fstp dword [esp + 0x1c]
fild dword [esp + 0x98]
mov dword [esp + 0x10], ecx
fst dword [esp + 0x98]
jmp 0x46992c
cmp edi, 0x5a0
jge 0x469813
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
sub ecx, esi
mov edx, eax
dec ecx
mov dword [esp + 0x84], ecx
fild dword [esp + 0x84]
neg edx
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x24]
fst dword [esp + 0x18]
fild dword [esp + 0x84]
sub edx, eax
mov eax, esi
dec edx
mov ecx, dword [esp + 0x18]
fst dword [esp + 0x84]
mov dword [esp + 0x98], edx
mov dword [esp + 0x20], ecx
fild dword [esp + 0x98]
neg eax
mov dword [esp + 0x98], eax
fst dword [esp + 0x1c]
fild dword [esp + 0x98]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
fstp dword [esp + 0x98]
jmp 0x469928
cmp edi, 0x870
jge 0x4698a2
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
sub edx, esi
dec edx
sub ecx, eax
mov dword [esp + 0x84], edx
dec ecx
fild dword [esp + 0x84]
mov dword [esp + 0x84], ecx
mov edx, esi
neg edx
fst dword [esp + 0x18]
fild dword [esp + 0x84]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x18]
neg eax
fst dword [esp + 0x84]
fild dword [esp + 0x98]
mov dword [esp + 0x98], eax
fst dword [esp + 0x14]
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x14], edx
fstp dword [esp + 0x1c]
fild dword [esp + 0x98]
mov dword [esp + 0x10], ecx
fst dword [esp + 0x98]
jmp 0x46992c
cmp edi, 0xb40
jge 0x469f30
mov ecx, dword [esp + 0x24]
mov eax, esi
neg eax
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x2c]
fild dword [esp + 0x84]
sub ecx, eax
dec ecx
fst dword [esp + 0x14]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x14]
fild dword [esp + 0x84]
neg eax
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x28]
fst dword [esp + 0x84]
fild dword [esp + 0x98]
sub eax, esi
mov dword [esp + 0x20], edx
dec eax
fst dword [esp + 0x1c]
mov dword [esp + 0x98], eax
fild dword [esp + 0x98]
fst dword [esp + 0x18]
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
fstp dword [esp + 0x98]
mov dword [esp + 0x14], ecx
fstp dword [esp + 0x18]
push ecx
fmul dword [esp + 0x8c]
fstp dword [esp + 0x40]
fld dword [esp + 0x88]
fmul dword [esp + 0x90]
fstp dword [esp + 0x88]
fld dword [esp + 0x24]
fmul dword [esp + 0x8c]
fstp dword [esp + 0x24]
fld dword [esp + 0x20]
fmul dword [esp + 0x90]
fstp dword [esp + 0x20]
fld dword [esp + 0x14]
fmul dword [esp + 0x8c]
fstp dword [esp + 0x14]
fld dword [esp + 0x9c]
fmul dword [esp + 0x90]
fstp dword [esp + 0x9c]
fld dword [esp + 0x88]
fmul dword [esp + 0x80]
fld dword [esp + 0x40]
fmul dword [esp + 0x84]
fsubp st(1)
fmul dword [esp + 0x98]
fstp dword [esp]
call fcn.00418f00
fld dword [esp + 0x9c]
fmul dword [esp + 0x80]
fld dword [esp + 0x14]
fmul dword [esp + 0x84]
mov edi, eax
mov dword [esp + 0x58], edi
fsubp st(1)
fmul dword [esp + 0x98]
fstp dword [esp]
call fcn.00418f00
fld dword [esp + 0x20]
fmul dword [esp + 0x80]
fld dword [esp + 0x24]
fmul dword [esp + 0x84]
mov dword [esp + 0x50], eax
fsubp st(1)
fmul dword [esp + 0x98]
fstp dword [esp]
call fcn.00418f00
fld dword [esp + 0x1c]
fmul dword [esp + 0x90]
mov ebx, eax
fmul dword [esp + 0x80]
fld dword [esp + 0x18]
fmul dword [esp + 0x8c]
fmul dword [esp + 0x84]
fsubp st(1)
fmul dword [esp + 0x98]
fstp dword [esp]
call fcn.00418f00
mov dword [esp + 0x1c], eax
mov eax, ebx
add esp, 4
sub eax, edi
mov dword [esp + 0x8c], eax
je 0x469b37
mov ecx, dword [esp + 0x4c]
mov eax, ebx
sub eax, ecx
mov dword [esp + 0x88], eax
je 0x469b37
fld dword [esp + 0x1c]
fmul dword [esp + 0x80]
fld dword [esp + 0x20]
fmul dword [esp + 0x7c]
faddp st(1)
fld dword [esp + 0x84]
fmul dword [esp + 0x80]
fld dword [esp + 0x3c]
fmul dword [esp + 0x7c]
faddp st(1)
fsubr st(1)
fmul dword [esp + 0x90]
fmul dword [0x49f4c8]
fidiv dword [esp + 0x8c]
call fcn.004922ac
test eax, eax
mov dword [esp + 0x20], eax
jge 0x469ad2
neg eax
mov dword [esp + 0x20], eax
fld dword [esp + 0x98]
fmul dword [esp + 0x80]
fld dword [esp + 0x10]
fmul dword [esp + 0x7c]
faddp st(1)
fsub st(1)
fmul dword [esp + 0x90]
fmul dword [0x49f4c8]
fidiv dword [esp + 0x88]
call fcn.004922ac
mov edi, eax
test edi, edi
mov dword [esp + 0x1c], edi
jge 0x469b15
neg edi
mov dword [esp + 0x1c], edi
fmul dword [esp + 0x90]
fmul dword [0x49f4c8]
call fcn.004922ac
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
jmp 0x469ba3
fld dword [esp + 0x84]
fmul dword [esp + 0x80]
fld dword [esp + 0x3c]
fmul dword [esp + 0x7c]
xor edi, edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
faddp st(1)
fmul dword [esp + 0x90]
fmul dword [0x49f4c8]
call fcn.004922ac
fld dword [esp + 0x98]
fmul dword [esp + 0x80]
fld dword [esp + 0x10]
fmul dword [esp + 0x7c]
mov dword [esp + 0x8c], eax
faddp st(1)
fmul dword [esp + 0x90]
fmul dword [0x49f4c8]
call fcn.004922ac
mov dword [esp + 0x88], eax
mov ecx, dword [0x4b6c44]
mov edx, dword [esp + 0x40]
sub ecx, edx
cmp ebx, ecx
jge 0x469be9
mov edx, dword [esp + 0x8c]
cmp ebx, dword [esp + 0x54]
jge 0x469bc6
sub edx, dword [esp + 0x20]
jmp 0x469bc8
add edx, edi
cmp ebx, dword [esp + 0x4c]
jge 0x469bd2
add eax, edi
jmp 0x469bd6
sub eax, dword [esp + 0x20]
inc ebx
cmp ebx, ecx
jl 0x469bba
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
mov eax, dword [0x4b6c48]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
sub eax, edx
cmp ecx, eax
jle 0x469c00
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
push edx
push edi
call fcn.0044f420
add esp, 8
mov dword [esp + 0x84], eax
test eax, eax
je 0x469f30
mov eax, dword [0x4b603c]
mov ecx, dword [0x4b6038]
push eax
push ecx
call fcn.0044f370
mov dword [esp + 0x44], eax
mov eax, dword [edi + 0x14]
add esp, 8
test eax, eax
jne 0x469c50
mov edx, dword [ebp + 0x30]
push edx
push edi
call fcn.0044f010
add esp, 8
jmp 0x469c59
push eax
call fcn.004483c0
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [esp + 0x80], ebx
cmp ebx, eax
jg 0x469f16
mov eax, dword [esp + 0x2c]
fild dword [esp + 0x50]
shl eax, 0x10
fild dword [esp + 0x30]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x40]
add ebx, eax
shl esi, 0x10
shl ebx, 2
mov dword [esp + 0x98], esi
mov dword [esp + 0x7c], ebx
mov esi, dword [esp + 0x8c]
mov eax, dword [0x4b6c38]
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x88]
sar esi, 0x10
sub eax, ebp
mov dword [esp + 0x78], esi
sar edi, 0x10
cmp esi, eax
jge 0x469cc3
mov esi, eax
mov dword [esp + 0x78], esi
mov eax, dword [0x4b6c3c]
sub eax, ebp
cmp edi, eax
jle 0x469cd0
mov edi, eax
fild dword [esp + 0x78]
fdiv dword [esp + 0x90]
fild dword [esp + 0x80]
fdiv dword [esp + 0x94]
fld st(1)
fmul dword [esp + 0x48]
fld st(1)
fmul dword [esp + 0x44]
fsubp st(1)
fmul dword [0x49f4d8]
fdiv st(4)
call fcn.004922ac
fxch st(1)
fmul dword [esp + 0x44]
fxch st(1)
fmul dword [esp + 0x48]
mov ebx, dword [esp + 0x98]
sub ebx, eax
faddp st(1)
fmul dword [0x49f4d8]
fdiv st(1)
call fcn.004922ac
mov edx, dword [esp + 0x50]
lea ecx, [esi + ebp]
mov ebp, dword [esp + 0x7c]
sub edx, eax
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + ebp]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x3c]
add eax, ecx
mov ecx, edi
sub ecx, esi
mov dword [esp + 0x78], eax
inc ecx
mov eax, ecx
imul ecx, dword [esp + 0x38]
imul eax, dword [esp + 0x34]
add eax, ebx
add ecx, edx
cmp edi, esi
mov dword [esp + 0x74], ecx
jl 0x469daf
mov ebp, dword [esp + 0x24]
sar ecx, 0x10
cmp ecx, ebp
jge 0x469d96
mov ebp, dword [esp + 0x28]
mov ecx, eax
sar ecx, 0x10
cmp ecx, ebp
jge 0x469d96
test dword [esp + 0x74], 0xffff0000
jl 0x469d96
test eax, 0xffff0000
jge 0x469e5c
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
sub eax, ecx
mov ecx, dword [esp + 0x74]
sub ecx, ebp
dec edi
cmp edi, esi
mov dword [esp + 0x74], ecx
jge 0x469d69
mov ebp, dword [esp + 0x78]
sub edi, esi
inc edi
test edi, edi
jle 0x469e37
mov dword [esp + 0x78], edi
mov esi, dword [esp + 0x60]
mov eax, edx
sar eax, 0x10
mov ecx, ebx
mov eax, dword [esi + eax*4]
sar ecx, 0x10
add eax, ecx
mov ecx, dword [esp + 0x84]
cmp byte [eax + ecx], 0
je 0x469e1d
mov esi, dword [esp + 0x64]
xor eax, eax
mov ax, word [ebp]
mov ecx, eax
and ecx, 0xf800
sub ecx, esi
jns 0x469df6
xor ecx, ecx
mov edi, dword [esp + 0x68]
mov esi, eax
and esi, 0x7e0
sub esi, edi
jns 0x469e08
xor esi, esi
mov edi, dword [esp + 0x6c]
and eax, 0x1f
sub eax, edi
jns 0x469e15
xor eax, eax
or eax, esi
or eax, ecx
mov word [ebp], ax
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x78]
add ebx, edi
add edx, esi
add ebp, 2
dec eax
mov dword [esp + 0x78], eax
jne 0x469dbe
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x54]
cmp eax, ecx
jge 0x469eaf
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x8c]
sub ecx, edx
mov dword [esp + 0x8c], ecx
jmp 0x469ec3
mov ebp, dword [esp + 0x78]
cmp esi, edi
jg 0x469db3
mov ecx, dword [esp + 0x24]
mov eax, edx
sar eax, 0x10
cmp eax, ecx
jge 0x469e96
mov eax, dword [esp + 0x28]
mov ecx, ebx
sar ecx, 0x10
cmp ecx, eax
jge 0x469e96
test edx, 0xffff0000
jl 0x469e96
test ebx, 0xffff0000
jge 0x469db3
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
add ebx, eax
add edx, ecx
add ebp, 2
inc esi
cmp esi, edi
jle 0x469e68
jmp 0x469db3
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x8c]
add edx, ecx
mov dword [esp + 0x8c], edx
cmp eax, dword [esp + 0x4c]
jge 0x469edf
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x88]
add ecx, edx
mov dword [esp + 0x88], ecx
jmp 0x469ef3
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
sub edx, ecx
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x18]
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x7c], edx
jle 0x469c96
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0x84]
push edx
call fcn.0044f4d0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret