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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
mov ebx, eax
mov al, 5
cmp byte [edi + 0x38], al
je 0x468550
cmp byte [esi + 0x38], al
jne 0x468561
mov eax, esi
mov ecx, edi
call fcn.00467f10
test eax, eax
jne 0x468bc6
cmp byte [ebx + 0x20], 8
jne 0x46857a
push ebx
push esi
push edi
call fcn.00468310
add esp, 0xc
test eax, eax
jne 0x468bc6
push 0
push ebx
call fcn.004361e0
mov ebx, eax
add esp, 8
test ebx, ebx
mov dword [esp + 0x3c], ebx
je 0x4685c1
mov eax, dword [ebx + 0x18]
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x34]
push edx
lea ecx, [esp + 0x3c]
push ecx
push 0
push esi
push edi
push eax
push 1
mov dword [esp + 0x58], eax
call fcn.00464ec0
add esp, 0x20
test eax, eax
jge 0x4685ca
push ebx
call fcn.00434890
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov edx, edi
call fcn.00460db0
test eax, eax
je 0x468619
fld qword [edi + 0x40]
lea edx, [esp + 0x48]
fstp qword [esp + 0x48]
push edx
fld qword [edi + 0x48]
push 2
fstp qword [esp + 0x58]
fldz
fst qword [esp + 0x60]
fld qword [ebx + 0x40]
fstp qword [esp + 0x68]
fld qword [ebx + 0x48]
fstp qword [esp + 0x70]
fstp qword [esp + 0x78]
call fcn.004357c0
add esp, 8
mov ebx, eax
jmp 0x468b9e
cmp dword [0x56e79c], 0
je 0x46868e
xor ecx, ecx
test edi, edi
mov eax, edi
je 0x468639
lea ebx, [ebx]
mov eax, dword [eax]
add ecx, 1
test eax, eax
jne 0x468630
lea eax, [ecx + ecx*2]
add eax, eax
add eax, eax
add eax, eax
push eax
call fcn.00443680
add esp, 4
xor edx, edx
test edi, edi
mov esi, eax
mov eax, edi
je 0x468677
fldz
lea ecx, [esi + 0x10]
fld qword [eax + 0x40]
add edx, 1
fstp qword [ecx - 0x10]
add ecx, 0x18
fld qword [eax + 0x48]
fstp qword [ecx - 0x20]
fst qword [ecx - 0x18]
mov eax, dword [eax]
test eax, eax
jne 0x46865a
fstp st(0)
push esi
push edx
call fcn.004357c0
push esi
mov ebx, eax
call fcn.00418550
add esp, 0xc
jmp 0x468b9e
mov ecx, dword [esp + 0x28]
push 4
push ecx
call fcn.004436f0
mov edi, dword [esp + 0x3c]
add esp, 8
cmp dword [edi], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], 0
je 0x468b47
mov dword [esp + 0x14], 0
mov edi, edi
fldz
mov esi, edi
mov edi, dword [edi]
mov al, 0x10
test byte [edi + 0x94], al
mov dword [esp + 0x18], esi
jne 0x4686de
mov edi, dword [edi]
test byte [edi + 0x94], al
je 0x4686d4
mov ebx, edi
mov edx, esi
call fcn.00460db0
test eax, eax
jne 0x468af3
mov edx, dword [esp + 0x14]
fstp st(0)
mov eax, dword [esp + 0x10]
fld qword [0x510ff8]
mov dword [edx + eax], 0
fstp qword [esp + 0x40]
mov esi, dword [esi + 0x94]
and esi, 0xff0000
je 0x468721
sar esi, 0x10
mov dword [esp + 0x1c], esi
jmp 0x468729
mov dword [esp + 0x1c], 0xc
mov esi, dword [esp + 0x18]
push esi
mov ebx, edi
call fcn.00460e70
push eax
push edi
push esi
push 4
push 1
mov dword [esp + 0x48], eax
call fcn.00460f80
mov esi, eax
add esp, 0x18
test esi, esi
je 0x468a3f
mov edx, dword [esp + 0x18]
fld qword [esp + 0x40]
mov eax, dword [ebp + 0xc]
fstp qword [esp + 0x20]
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [ebp + 8]
push edi
push edx
mov edx, dword [esp + 0x44]
push eax
push ecx
push esi
push edx
push 1
call fcn.004660e0
add esp, 0x20
test eax, eax
jl 0x468a3f
je 0x468a20
fld qword [esp + 0x40]
fcomp qword [esp + 0x20]
fnstsw ax
test ah, 0x41
jne 0x4689f8
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov eax, dword [ebx + eax]
test eax, eax
je 0x4687b6
push eax
call fcn.004483e0
add esp, 4
mov ecx, dword [esp + 0x10]
fld qword [esp + 0x20]
fstp qword [esp + 0x40]
mov dword [ebx + ecx], esi
xor eax, eax
sub dword [esp + 0x1c], 1
js 0x468a3f
test eax, eax
je 0x4689cd
cmp dword [esp + 0x1c], 3
jle 0x4689cd
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
xor ebx, ebx
mov esi, 0x100
xor edx, edx
test dword [ecx + 0x94], esi
mov dword [esp + 0x20], ebx
jne 0x46880d
mov ecx, dword [ecx]
add edx, 1
test dword [ecx + 0x94], esi
je 0x468800
mov eax, dword [edi + 4]
test dword [eax + 0x94], esi
jne 0x46882e
jmp 0x468820
mov eax, dword [eax + 4]
add edx, 1
test dword [eax + 0x94], esi
je 0x468820
mov esi, dword [esp + 0x30]
sar esi, 1
cmp edx, esi
jle 0x4688d1
cmp ecx, eax
mov esi, 1
mov edx, ecx
je 0x468876
jmp 0x468850
mov ebx, dword [edx + 0x94]
mov edx, dword [edx]
and ebx, 0x100
neg ebx
sbb ebx, ebx
and ebx, 2
add ebx, 0xffffffff
add esi, ebx
cmp edx, eax
jne 0x468850
test esi, esi
jl 0x4688d1
mov ebx, dword [esp + 0x20]
mov ecx, dword [ecx + 4]
cmp ecx, dword [esp + 0x18]
je 0x4688a4
test byte [ecx + 0x94], 0x20
je 0x468876
mov edx, dword [esp + 0x1c]
shl edx, 0x10
mov ebx, 1
or edx, 0x210
or dword [ecx + 0x94], edx
mov dword [esp + 0x20], ebx
mov eax, dword [eax]
cmp eax, edi
je 0x4688cd
test byte [eax + 0x94], 0x20
je 0x4688a4
mov ecx, dword [esp + 0x1c]
shl ecx, 0x10
add ebx, 1
or ecx, 0x210
or dword [eax + 0x94], ecx
mov dword [esp + 0x20], ebx
test ebx, ebx
jne 0x468950
cmp dword [esp + 0x30], 0x14
jle 0x4689cd
mov eax, dword [esp + 0x18]
or ebx, 0xffffffff
jmp 0x4688f0
mov esi, eax
xor edx, edx
test dword [eax + 0x94], 0x100
je 0x468905
mov edx, 1
mov eax, dword [eax]
cmp eax, edi
je 0x46891b
mov ecx, dword [eax + 0x94]
test cl, 0x20
je 0x4688f4
test cl, 2
jne 0x4688f4
test ebx, ebx
jl 0x46893b
cmp edx, ebx
je 0x46893d
mov ecx, dword [esp + 0x1c]
add dword [esp + 0x20], 1
shl ecx, 0x10
or ecx, 0x210
or dword [esi + 0x94], ecx
mov ebx, edx
cmp eax, edi
jne 0x4688f0
cmp dword [esp + 0x20], 0
je 0x4689cd
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov edi, dword [edx]
mov al, 0x10
test byte [edi + 0x94], al
jne 0x46896a
mov edi, dword [edi]
test byte [edi + 0x94], al
je 0x468960
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
add esi, ebx
lea eax, [esi*4]
push eax
push ecx
mov dword [esp + 0x30], esi
call fcn.004436b0
add esp, 8
mov ecx, eax
sub esi, ebx
mov dword [esp + 0x10], ecx
lea eax, [ecx + esi*4]
mov dword [eax], 0
sub ebx, 1
add eax, 4
test ebx, ebx
jg 0x468994
mov esi, dword [esp + 0x14]
mov eax, dword [esi + ecx]
test eax, eax
je 0x4689c3
push eax
call fcn.004483e0
mov edx, dword [esp + 0x14]
add esp, 4
mov dword [esi + edx], 0
fld qword [0x510ff8]
fstp qword [esp + 0x40]
mov esi, dword [esp + 0x18]
push esi
mov ebx, edi
call fcn.00460e70
push eax
push edi
push esi
push 4
push 1
mov dword [esp + 0x48], eax
call fcn.00460f80
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x468752
jmp 0x468a3f
push esi
call fcn.004483e0
fld qword [esp + 0x44]
fadd st(0), st(0)
add esp, 4
fcomp qword [esp + 0x20]
fnstsw ax
test ah, 5
jp 0x4687c5
mov eax, 1
jmp 0x4687c7
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov eax, dword [ebx + eax]
test eax, eax
je 0x468a38
push eax
call fcn.004483e0
add esp, 4
mov ecx, dword [esp + 0x10]
mov dword [ebx + ecx], esi
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp dword [edx + eax], 0
je 0x468a58
cmp dword [esp + 0x1c], 0
jge 0x468ae3
mov esi, dword [esp + 0x18]
push esi
mov ebx, edi
call fcn.00460e70
push eax
push edi
push esi
push 2
push 1
call fcn.00460f80
mov esi, eax
add esp, 0x18
test esi, esi
je 0x468ae3
mov edx, dword [esp + 0x18]
fld qword [esp + 0x40]
mov eax, dword [ebp + 0xc]
fstp qword [esp + 0x20]
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [ebp + 8]
push edi
push edx
mov edx, dword [esp + 0x44]
push eax
push ecx
push esi
push edx
push 1
call fcn.004660e0
add esp, 0x20
test eax, eax
jl 0x468ada
je 0x468ab9
fld qword [esp + 0x40]
fcomp qword [esp + 0x20]
fnstsw ax
test ah, 0x41
jne 0x468ada
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov eax, dword [ebx + eax]
test eax, eax
je 0x468ad1
push eax
call fcn.004483e0
add esp, 4
mov ecx, dword [esp + 0x10]
mov dword [ebx + ecx], esi
jmp 0x468ae3
push esi
call fcn.004483e0
add esp, 4
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp dword [edx + eax], 0
je 0x468b47
jmp 0x468b34
fld qword [esi + 0x40]
lea ecx, [esp + 0x60]
fstp qword [esp + 0x48]
push ecx
fld qword [esi + 0x48]
lea edx, [esp + 0x4c]
fstp qword [esp + 0x54]
push edx
fst qword [esp + 0x60]
fld qword [edi + 0x40]
fstp qword [esp + 0x68]
fld qword [edi + 0x48]
fstp qword [esp + 0x70]
fstp qword [esp + 0x78]
call fcn.00447f90
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
add esp, 8
mov dword [ecx + edx], eax
add dword [esp + 0x2c], 1
add dword [esp + 0x14], 4
cmp dword [edi], 0
jne 0x4686c0
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x2c], eax
jne 0x468b70
mov ecx, dword [esp + 0x10]
push ecx
push eax
call fcn.0044b860
add esp, 8
test eax, eax
je 0x468b70
push eax
call fcn.00435660
add esp, 4
mov ebx, eax
jmp 0x468b72
xor ebx, ebx
mov esi, dword [esp + 0x2c]
sub esi, 1
mov edi, dword [esp + 0x10]
js 0x468b91
nop
mov edx, dword [edi + esi*4]
push edx
call fcn.004483e0
add esp, 4
sub esi, 1
jns 0x468b80
push edi
call fcn.00418550
mov edi, dword [esp + 0x38]
add esp, 4
mov eax, dword [esp + 0x3c]
push eax
call fcn.00434890
add esp, 4
test edi, edi
mov eax, edi
je 0x468bc4
mov esi, dword [eax]
push 0x13
push eax
call fcn.004471f0
add esp, 8
test esi, esi
mov eax, esi
jne 0x468bb1
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret