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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xb4
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
cmp byte [esi + 0x38], 5
push edi
jne 0x46751e
push ebx
mov eax, esi
call fcn.004618f0
add esp, 4
test eax, eax
jne 0x467cc5
fld qword [ebx + 0x10]
fcomp qword [ebx + 8]
fnstsw ax
test ah, 0x44
jp 0x4675d3
fld qword [ebx + 8]
or dword [ebx + 0x1c], 2
lea eax, [esp + 0x90]
push eax
sub esp, 8
fstp qword [esp]
push ebx
call fcn.00434970
push 0
push 0
lea ecx, [esp + 0xc0]
push ecx
lea edx, [esp + 0x7c]
push edx
lea eax, [esp + 0xb0]
push eax
push 0
push esi
call fcn.00461c70
mov esi, eax
add esp, 0x2c
test esi, esi
jl 0x467656
fldz
lea ecx, [esp + 0x60]
fst qword [esp + 0x70]
push ecx
fld qword [esp + 0x64]
push 2
fstp qword [esp + 0x80]
fld qword [esp + 0x70]
fstp qword [esp + 0x88]
fstp qword [esp + 0x90]
call fcn.004357c0
add esp, 8
test esi, 0x20000
je 0x4675b9
or dword [eax + 0x1c], 0x640
test esi, 0x40000
je 0x467cc5
or dword [eax + 0x1c], 0x6040
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [ebx + 0x20]
test al, al
jbe 0x467605
cmp al, 2
jbe 0x4675f4
cmp al, 5
jne 0x467605
mov edi, ebx
call fcn.004669f0
test eax, eax
je 0x467605
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, ebx
mov edi, esi
call fcn.00466de0
test eax, eax
jne 0x467cc5
push 0
push ebx
call fcn.004361e0
mov esi, eax
add esp, 8
test esi, esi
mov dword [esp + 0x50], esi
je 0x467656
mov eax, dword [esi + 0x18]
lea edx, [esp + 0x38]
push edx
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebp + 0x10]
lea edx, [esp + 0x60]
push edx
mov edx, dword [ebp + 8]
push ecx
push 0
push edx
push eax
push 3
mov dword [esp + 0x74], eax
call fcn.00464ec0
add esp, 0x20
test eax, eax
mov dword [esp + 0x5c], eax
jge 0x46765f
push esi
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 + 0x58]
mov ebx, dword [esp + 0x34]
mov edx, edi
call fcn.00460db0
test eax, eax
je 0x4676e8
mov eax, dword [ebp + 0xc]
or dword [eax + 0x1c], 2
fld qword [edi + 0x40]
fstp qword [esp + 0x60]
lea eax, [esp + 0x60]
fld qword [edi + 0x48]
push eax
fstp qword [esp + 0x6c]
push 2
fldz
fst qword [esp + 0x78]
fld qword [ebx + 0x40]
fstp qword [esp + 0x80]
fld qword [ebx + 0x48]
fstp qword [esp + 0x88]
fstp qword [esp + 0x90]
call fcn.004357c0
add esp, 8
test dword [edi + 0x90], 0x20000
mov ebx, eax
je 0x4676cc
or dword [ebx + 0x1c], 0x640
test dword [edi + 0x90], 0x40000
je 0x467c92
or dword [ebx + 0x1c], 0x6040
jmp 0x467c92
xor ebx, ebx
cmp dword [0x56e79c], ebx
je 0x46775e
xor ecx, ecx
cmp edi, ebx
mov eax, edi
je 0x467709
lea ebx, [ebx]
mov eax, dword [eax]
add ecx, 1
cmp eax, ebx
jne 0x467700
lea ecx, [ecx + ecx*2]
add ecx, ecx
add ecx, ecx
add ecx, ecx
push ecx
call fcn.00443680
add esp, 4
xor edx, edx
cmp edi, ebx
mov esi, eax
mov eax, edi
je 0x467747
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]
cmp eax, ebx
jne 0x46772a
fstp st(0)
push esi
push edx
call fcn.004357c0
push esi
mov ebx, eax
call fcn.00418550
add esp, 0xc
jmp 0x467c8e
mov edx, dword [esp + 0x38]
push 4
push edx
call fcn.004436f0
add esp, 8
cmp dword [edi], ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x34], ebx
je 0x467c39
mov dword [esp + 0x28], ebx
mov edi, dword [esp + 0x20]
fldz
mov ebx, dword [edi]
mov al, 0x10
test byte [ebx + 0x94], al
mov dword [esp + 0x30], edi
mov dword [esp + 0x20], ebx
jne 0x4677ad
mov ebx, dword [ebx]
test byte [ebx + 0x94], al
je 0x46779f
mov dword [esp + 0x20], ebx
mov edx, edi
call fcn.00460db0
test eax, eax
jne 0x467bd8
mov eax, dword [esp + 0x28]
fstp st(0)
mov ecx, dword [esp + 0x24]
fld qword [0x510ff8]
mov dword [eax + ecx], 0
fstp qword [esp + 0x48]
mov eax, dword [edi + 0x94]
and eax, 0xff0000
je 0x4677ed
sar eax, 0x10
mov dword [esp + 0x2c], eax
jmp 0x4677f5
mov dword [esp + 0x2c], 0xc
push edi
call fcn.00460e70
push eax
push ebx
push edi
push 4
push 3
mov dword [esp + 0x54], eax
call fcn.00460f80
mov ebx, eax
add esp, 0x18
test ebx, ebx
je 0x467b20
mov eax, dword [esp + 0x20]
fld qword [esp + 0x48]
mov ecx, dword [esp + 0x30]
fstp qword [esp + 0x40]
lea edx, [esp + 0x40]
push edx
mov edx, dword [ebp + 8]
push eax
mov eax, dword [esp + 0x5c]
push ecx
push 0
push edx
push ebx
push eax
push 3
call fcn.004660e0
add esp, 0x20
test eax, eax
jl 0x467afa
je 0x467b05
fld qword [esp + 0x48]
fcomp qword [esp + 0x40]
fnstsw ax
test ah, 0x41
jne 0x467ad2
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov eax, dword [edi + esi]
test eax, eax
je 0x46787e
push eax
call fcn.004483e0
add esp, 4
fld qword [esp + 0x40]
mov dword [edi + esi], ebx
fstp qword [esp + 0x48]
xor edi, edi
sub dword [esp + 0x2c], 1
js 0x467b20
mov ecx, dword [ebp + 8]
test dword [ecx + 0x34], 0x2200
je 0x4678b2
mov ebx, dword [esp + 0x30]
push 1
mov esi, ecx
call fcn.00460a70
add esp, 4
test edi, edi
je 0x467aa5
cmp dword [esp + 0x2c], 3
jle 0x467aa5
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
mov ebx, 0x100
xor esi, esi
xor edx, edx
test dword [ecx + 0x94], ebx
jne 0x4678ed
lea esp, [esp]
mov ecx, dword [ecx]
add edx, 1
test dword [ecx + 0x94], ebx
je 0x4678e0
mov edi, dword [esp + 0x20]
mov eax, dword [edi + 4]
test dword [eax + 0x94], ebx
jne 0x46790e
lea esp, [esp]
mov eax, dword [eax + 4]
add edx, 1
test dword [eax + 0x94], ebx
je 0x467900
mov ebx, dword [esp + 0x3c]
sar ebx, 1
cmp edx, ebx
jle 0x4679a9
cmp ecx, eax
mov ebx, 1
mov edx, ecx
je 0x467956
jmp 0x467930
mov edi, dword [edx + 0x94]
mov edx, dword [edx]
and edi, 0x100
neg edi
sbb edi, edi
and edi, 2
add edi, 0xffffffff
add ebx, edi
cmp edx, eax
jne 0x467930
test ebx, ebx
jl 0x4679a9
mov edi, dword [esp + 0x20]
mov ecx, dword [ecx + 4]
cmp ecx, dword [esp + 0x30]
je 0x467980
test byte [ecx + 0x94], 0x20
je 0x467956
mov edx, dword [esp + 0x2c]
shl edx, 0x10
or edx, 0x210
or dword [ecx + 0x94], edx
mov esi, 1
mov eax, dword [eax]
cmp eax, edi
je 0x4679a5
test byte [eax + 0x94], 0x20
je 0x467980
mov ecx, dword [esp + 0x2c]
shl ecx, 0x10
or ecx, 0x210
add esi, 1
or dword [eax + 0x94], ecx
test esi, esi
jne 0x467a1b
cmp dword [esp + 0x3c], 0x14
jle 0x467aa5
mov eax, dword [esp + 0x30]
or edi, 0xffffffff
jmp 0x4679c0
mov ebx, eax
xor edx, edx
test dword [eax + 0x94], 0x100
je 0x4679d5
mov edx, 1
mov eax, dword [eax]
cmp eax, dword [esp + 0x20]
je 0x4679ed
mov ecx, dword [eax + 0x94]
test cl, 0x20
je 0x4679c4
test cl, 2
jne 0x4679c4
test edi, edi
jl 0x467a0b
cmp edx, edi
je 0x467a0d
mov ecx, dword [esp + 0x2c]
shl ecx, 0x10
or ecx, 0x210
add esi, 1
or dword [ebx + 0x94], ecx
mov edi, edx
cmp eax, dword [esp + 0x20]
jne 0x4679c0
test esi, esi
je 0x467aa5
mov edx, dword [esp + 0x30]
mov ecx, dword [edx]
mov al, 0x10
test byte [ecx + 0x94], al
mov dword [esp + 0x20], ecx
jne 0x467a3e
nop
mov ecx, dword [ecx]
test byte [ecx + 0x94], al
je 0x467a30
mov dword [esp + 0x20], ecx
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x24]
add edi, esi
lea eax, [edi*4]
push eax
push ecx
mov dword [esp + 0x40], edi
call fcn.004436b0
add esp, 8
mov ebx, eax
sub edi, esi
mov dword [esp + 0x24], ebx
lea eax, [ebx + edi*4]
jmp 0x467a70
mov dword [eax], 0
sub esi, 1
add eax, 4
test esi, esi
jg 0x467a70
mov esi, dword [esp + 0x28]
mov eax, dword [esi + ebx]
test eax, eax
je 0x467a9b
push eax
call fcn.004483e0
add esp, 4
mov dword [esi + ebx], 0
fld qword [0x510ff8]
fstp qword [esp + 0x48]
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
push esi
call fcn.00460e70
push eax
push ebx
push esi
push 4
push 3
mov dword [esp + 0x54], eax
call fcn.00460f80
mov ebx, eax
add esp, 0x18
test ebx, ebx
jne 0x467818
jmp 0x467b20
push ebx
call fcn.004483e0
fld qword [esp + 0x4c]
fadd st(0), st(0)
add esp, 4
fcomp qword [esp + 0x40]
fnstsw ax
test ah, 5
jp 0x467889
mov edi, 1
jmp 0x46788b
push ebx
call fcn.004483e0
add esp, 4
jmp 0x467b20
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov eax, dword [esi + edi]
test eax, eax
je 0x467b1d
push eax
call fcn.004483e0
add esp, 4
mov dword [esi + edi], ebx
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
cmp dword [eax + edx], 0
je 0x467b39
cmp dword [esp + 0x2c], 0
jge 0x467bc4
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x20]
push edi
mov ebx, esi
call fcn.00460e70
push eax
push esi
push edi
push 2
push 3
call fcn.00460f80
mov ebx, eax
add esp, 0x18
test ebx, ebx
je 0x467bc8
mov edx, dword [ebp + 8]
fld qword [esp + 0x48]
mov eax, dword [esp + 0x54]
fstp qword [esp + 0x40]
lea ecx, [esp + 0x40]
push ecx
push esi
push edi
push 0
push edx
push ebx
push eax
push 3
call fcn.004660e0
add esp, 0x20
test eax, eax
jl 0x467bb9
je 0x467b98
fld qword [esp + 0x48]
fcomp qword [esp + 0x40]
fnstsw ax
test ah, 0x41
jne 0x467bb9
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov eax, dword [edi + ecx]
test eax, eax
je 0x467bb0
push eax
call fcn.004483e0
add esp, 4
mov edx, dword [esp + 0x24]
mov dword [edi + edx], ebx
jmp 0x467bc8
push ebx
call fcn.004483e0
add esp, 4
jmp 0x467bc8
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
cmp dword [ecx + eax], 0
je 0x467c39
jmp 0x467c26
fld qword [edi + 0x40]
lea edx, [esp + 0x78]
fstp qword [esp + 0x60]
push edx
fld qword [edi + 0x48]
lea eax, [esp + 0x64]
fstp qword [esp + 0x6c]
push eax
fst qword [esp + 0x78]
fld qword [ebx + 0x40]
fstp qword [esp + 0x80]
fld qword [ebx + 0x48]
fstp qword [esp + 0x88]
fstp qword [esp + 0x90]
call fcn.00447f90
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
add esp, 8
mov dword [ecx + edx], eax
add dword [esp + 0x34], 1
add dword [esp + 0x28], 4
cmp dword [esi], 0
jne 0x467785
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
cmp esi, eax
mov edi, dword [esp + 0x24]
jne 0x467c64
push edi
push eax
call fcn.0044b860
add esp, 8
test eax, eax
je 0x467c64
push eax
call fcn.00435660
add esp, 4
mov ebx, eax
jmp 0x467c66
xor ebx, ebx
sub esi, 1
js 0x467c81
jmp 0x467c70
mov eax, dword [edi + esi*4]
push eax
call fcn.004483e0
add esp, 4
sub esi, 1
jns 0x467c70
push edi
call fcn.00418550
mov edi, dword [esp + 0x5c]
add esp, 4
mov esi, dword [esp + 0x50]
push esi
call fcn.00434890
add esp, 4
test ebx, ebx
je 0x467ca6
mov ecx, dword [esp + 0x5c]
or dword [ebx + 0x1c], ecx
test edi, edi
mov eax, edi
je 0x467cc3
lea esp, [esp]
mov esi, dword [eax]
push 0x13
push eax
call fcn.004471f0
add esp, 8
test esi, esi
mov eax, esi
jne 0x467cb0
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret