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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0xc0
cmp byte [0x95cd5b], 1
mov byte [esp + 4], 0
mov ebp, dword [esp + 0xd4]
mov byte [esp], 0
mov ebx, ecx
jne 0x4df972
add esp, 0xc0
pop ebp
pop edi
pop esi
pop ebx
ret 4
mov al, byte [ebx + 0x156]
shr al, 3
and al, 1
jne 0x4dfa35
cmp ebp, 2
je 0x4dfa35
mov eax, dword [ebx + 0x4c]
push 0x6f
push eax
call fcn.004055c0
test eax, eax
pop ecx
pop ecx
je 0x4df9b1
mov ecx, ebx
call fcn.004d4970
add esp, 0xc0
pop ebp
pop edi
pop esi
pop ebx
ret 4
mov eax, dword [ebx + 0x4c]
push 0x70
push eax
call fcn.004055c0
test eax, eax
pop ecx
pop ecx
je 0x4df9d6
mov ecx, ebx
call fcn.004d4970
add esp, 0xc0
pop ebp
pop edi
pop esi
pop ebx
ret 4
mov eax, dword [ebx + 0x4c]
push 0x71
push eax
call fcn.004055c0
test eax, eax
pop ecx
pop ecx
je 0x4dfa00
mov ecx, ebx
call fcn.004d4970
add esp, 0xc0
pop ebp
pop edi
pop esi
pop ebx
ret 4
mov eax, dword [ebx + 0x4c]
push 0x72
push eax
call fcn.004055c0
test eax, eax
pop ecx
pop ecx
je 0x4dfa25
mov ecx, ebx
call fcn.004d4970
add esp, 0xc0
pop ebp
pop edi
pop esi
pop ebx
ret 4
mov al, byte [ebx + 0x156]
and al, 0xf7
or al, 8
mov byte [ebx + 0x156], al
test ebp, ebp
fldz
jne 0x4dfa53
mov dword [ebx + 0x78], 0
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x80], 0
mov esi, dword [ebx + 0x310]
fld dword [esi + 0x14]
fchs
fld dword [esi + 0x18]
fpatan
lea eax, [esi + 0x24]
fstp st(0)
fld dword [eax + 8]
fcomp dword [0x5f8d80]
fnstsw ax
test ah, 4
jne 0x4dfa85
and ah, 0x45
test ah, 0x41
je 0x4dfa85
mov byte [esp + 4], 1
cmp byte [esp + 4], 0
je 0x4dfad6
mov ax, word [ebx + 0x2e8]
cmp ax, 0xb
je 0x4dfa9f
cmp ax, 0xc
jne 0x4dfac0
fld dword [esi + 0x14]
fchs
fld dword [esi + 0x18]
fpatan
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fst st(1)
fsub dword [0x5f8d34]
jmp 0x4dfb44
fld dword [esi + 0x14]
fchs
fld dword [esi + 0x18]
fpatan
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fst st(1)
jmp 0x4dfb44
mov al, byte [esi + 0x1f6]
shr al, 1
and al, 1
je 0x4dfb30
mov ax, word [ebx + 0x2e8]
cmp ax, 0xf
je 0x4dfaf5
cmp ax, 0x10
jne 0x4dfb11
fld dword [esi + 0x14]
fchs
fld dword [esi + 0x18]
fpatan
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fst st(1)
fsub dword [0x5f8d84]
jmp 0x4dfb44
fld dword [esi + 0x14]
fchs
fld dword [esi + 0x18]
fpatan
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp st(1)
fld dword [0x5f8d84]
fadd st(1)
jmp 0x4dfb44
fld dword [esi + 0x14]
fchs
fld dword [esi + 0x18]
fpatan
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fst st(1)
fstp dword [ebx + 0x2e0]
mov edi, dword [ebx + 0x1d8]
test edi, edi
je 0x4dfbb0
mov eax, dword [edi + 0x2c]
mov edx, dword [edi + 0x2c]
sub eax, 0x4e
cmp eax, 0x41
ja case.0x4dfb62.84
jmp dword [eax*4 + 0x5f9278]
jmp 0x4dfbc1
fld dword [0x5f8c9c]
fstp dword [esp + 0xc]
jmp 0x4dfbcb
mov eax, dword [edi + 0x14]
fld dword [eax + 0x20]
fst st(1)
fsub dword [edi + 0x20]
fdiv st(1)
jmp 0x4dfbc7
fld dword [edi + 0x20]
mov eax, dword [edi + 0x14]
fdiv dword [eax + 0x20]
jmp 0x4dfbc7
cmp byte [ebx + 0x314], 0
je 0x4dfba6
fld dword [0x5f8c9c]
fstp dword [esp + 0xc]
jmp 0x4dfbcb
fld dword [0x5f8cb8]
jmp 0x4dfbc7
cmp byte [ebx + 0x314], 0
je 0x4dfbc1
fld dword [0x5f8c9c]
jmp 0x4dfbc7
fld dword [0x5f8cb8]
fstp dword [esp + 0xc]
cmp ebp, 2
jne 0x4dfbf0
lea eax, [ebx + 0x34]
fld dword [eax]
fstp dword [esp + 0x18]
fld dword [eax + 4]
fstp dword [esp + 0x1c]
fld dword [eax + 8]
fstp dword [esp + 0x20]
jmp 0x4e01c3
movzx eax, word [ebx + 0x2e8]
push dword [esp + 0xc]
fstp st(0)
push eax
lea eax, [esp + 0x98]
push esi
push eax
call fcn.004e4660
mov eax, dword [esp + 0xa0]
add esp, 0x10
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], edi
mov al, byte [esi + 0x122]
shr al, 3
and al, 1
jne 0x4dfc62
lea eax, [esp + 0x30]
push eax
call fcn.004ee340
pop ecx
jmp 0x4dfc84
cmp dword [esi + 0x284], 1
jne 0x4dfc84
mov ecx, esi
call fcn.00552230
test al, al
je 0x4dfc84
fld dword [esp + 0x38]
fadd dword [0x5f8cb8]
fstp dword [esp + 0x38]
cmp ebp, 1
fldz
fldz
je 0x4dfc96
cmp ebp, 2
jne 0x4e01d0
lea edi, [ebx + 0x34]
fld dword [edi + 8]
fstp dword [esp + 0x20]
mov al, byte [esi + 0x1f6]
shr al, 1
and al, 1
je 0x4dfcbf
test al, al
je 0x4e01e0
cmp byte [esp + 4], 0
je 0x4e01f0
fld dword [0x5f8d88]
fmul dword [0x8e2cb4]
fsubr dword [ebx + 0x80]
fstp st(2)
fld dword [esp + 0x20]
fadd st(2)
fld dword [esp + 0x38]
fstp st(2)
fcomp st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4dfd10
fst dword [esp + 0x20]
mov dword [ebx + 0x78], 0
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x80], 0
jmp 0x4e0200
fld st(1)
fstp dword [ebx + 0x80]
fcompp
mov ecx, ebx
call fcn.00495b10
fld dword [edi + 8]
fstp dword [esp + 0x20]
fldz
fldz
fldz
fldz
fld dword [esp + 0x38]
fstp st(4)
fld st(3)
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 0x45
jne 0x4dfe20
mov edx, dword [ebx + 0x1d8]
test edx, edx
je 0x4dfd98
mov ecx, dword [edx + 0x2c]
mov eax, ecx
cmp eax, 0x89
je 0x4dfd98
cmp ecx, 0x8a
je 0x4dfd98
cmp ecx, 0x8e
je 0x4dfd98
cmp ecx, 0x8d
je 0x4dfd98
fld st(3)
fstp dword [esp + 0x20]
mov dword [ebx + 0x78], 0
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x80], 0
jmp 0x4dfedb
lea eax, [ebx + 0x34]
fld dword [eax + 8]
fstp st(1)
fld dword [esp + 0x20]
fcomp st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4dfedb
test edx, edx
je 0x4dfedb
mov edi, dword [edx + 0x2c]
mov eax, edi
cmp eax, 0x8a
je 0x4dfedb
cmp edi, 0x8e
je 0x4dfedb
mov eax, dword [edx + 0x14]
fld dword [eax + 0x20]
fsub dword [edx + 0x20]
fstp st(4)
fld dword [edx + 0x28]
fstp st(2)
fld st(1)
fstp st(3)
fld dword [0x5f8cb0]
fcomp st(3)
fnstsw ax
test ah, 0x45
jne 0x4dfe03
fld dword [0x5f8cb0]
jmp 0x4dfe05
fld st(1)
fstp st(3)
fld st(0)
fsub dword [esp + 0x20]
fld st(4)
fdiv st(4)
fdivp st(1)
fsubr st(1)
jmp 0x4dfed7
test ebp, ebp
jne 0x4dfedb
lea eax, [ebx + 0x34]
fld dword [eax + 8]
fstp st(2)
fld dword [esp + 0x20]
fcomp st(2)
fnstsw ax
test ah, 0x45
jne 0x4dfedb
mov ecx, dword [ebx + 0x1d8]
test ecx, ecx
je 0x4dfeb6
mov edi, dword [ecx + 0x2c]
mov eax, edi
cmp eax, 0x69
je 0x4dfe77
cmp edi, 0x6a
je 0x4dfe77
lea eax, [edi - 0x5a]
cmp eax, 1
jbe 0x4dfe77
cmp edi, 0x52
je 0x4dfe77
cmp edi, 0x89
je 0x4dfe77
cmp edi, 0x8d
jne 0x4dfeb6
mov eax, dword [ecx + 0x14]
fld dword [eax + 0x20]
fsub dword [ecx + 0x20]
fstp st(1)
fld dword [ecx + 0x28]
fstp st(3)
fld st(2)
fstp st(4)
fld dword [0x5f8cb0]
fcomp st(4)
fnstsw ax
test ah, 0x45
jne 0x4dfea2
fld dword [0x5f8cb0]
jmp 0x4dfea4
fld st(2)
fstp st(4)
fld dword [esp + 0x20]
fsub st(2)
fld st(1)
fdiv st(5)
fdivp st(1)
fadd st(2)
jmp 0x4dfed7
mov eax, dword [ebx + 0x224]
cmp eax, 0x34
je 0x4dfec6
cmp eax, 0x32
jne 0x4dfedb
fld st(3)
fcomp st(2)
fnstsw ax
test ah, 0x45
jne 0x4dfed5
fld st(3)
jmp 0x4dfed7
fld st(1)
fstp dword [esp + 0x20]
mov eax, dword [ebx + 0x220]
mov ecx, dword [0x885b48]
cmp ecx, eax
jae 0x4dff0b
cmp dword [esi + 0x284], 1
jne 0x4dff07
mov al, byte [ebx + 0x15a]
shr al, 4
and al, 1
jne 0x4dff07
mov byte [esp], 0
jmp 0x4dff0b
mov byte [esp], 1
cmp byte [esp], 0
je 0x4e0052
fcompp
fcompp
push dword [ebx + 0x2e0]
call fcn.0048cb90
fstp dword [esp + 0x14]
fld dword [ebx + 0x2dc]
fstp dword [esp + 0x18]
mov edx, dword [ebx + 0x220]
mov dword [esp + 0x30], 0
sub edx, dword [0x885b48]
pop ecx
mov eax, edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x28], eax
fild qword [esp + 0x28]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fmul dword [0x5f8d8c]
fstp dword [esp + 8]
fld dword [esp + 8]
fcomp dword [0x5f8c9c]
fnstsw ax
test ah, 4
jne 0x4dff94
and ah, 0x45
test ah, 0x41
je 0x4dff94
mov dword [ebx + 0x1e4], 0
mov dword [ebx + 0x1e8], 0
mov dword [ebx + 0x1ec], 0
fldz
fld dword [esp + 8]
fmul dword [ebx + 0x1e4]
fsubr dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 8]
fmul dword [ebx + 0x1e8]
fsubr dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 8]
fmul dword [ebx + 0x1ec]
fsubr dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [0x5f8d34]
fadd dword [esp + 0x14]
fcomp dword [esp + 0x10]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4e0000
fld dword [esp + 0x10]
fsub dword [0x5f8d3c]
jmp 0x4e001f
fld dword [esp + 0x14]
fsub dword [0x5f8d34]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x45
jne 0x4e0023
fld dword [esp + 0x10]
fadd dword [0x5f8d3c]
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fsub dword [esp + 0x10]
fstp st(1)
fld dword [0x5f8cb8]
fsub dword [esp + 8]
fmulp st(1)
fld dword [esp + 0x14]
fsub st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [ebx + 0x2dc]
jmp 0x4e0210
fld dword [ebx + 0x2e0]
fstp dword [ebx + 0x2dc]
fcompp
fcompp
fld dword [esp + 0xc]
fcomp dword [0x5f8d50]
fnstsw ax
test ah, 4
jne 0x4e0151
and ah, 0x45
test ah, 0x41
je 0x4e0151
cmp byte [esp + 4], 0
jne 0x4e0151
lea eax, [esi + 4]
lea ecx, [esp + 0x3c]
push eax
call fcn.004b8d70
movzx eax, word [ebx + 0x2e8]
push dword [0x5f8c9c]
push eax
lea eax, [esp + 0xa4]
push esi
push eax
call fcn.004e4730
mov eax, dword [esp + 0xac]
add esp, 0x10
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x84]
lea ecx, [esp + 0x3c]
push eax
lea eax, [esp + 0xac]
mov edi, dword [esp + 0xa4]
push ecx
push eax
mov dword [esp + 0x94], edi
call fcn.004ba3d0
fld dword [esp + 0x78]
fadd dword [esp + 0xb4]
lea eax, [esp + 0x48]
add esp, 0xc
push eax
fstp dword [esp + 0x70]
fld dword [esp + 0x74]
fadd dword [esp + 0xb0]
fstp dword [esp + 0x74]
fld dword [esp + 0x78]
fadd dword [esp + 0xb4]
fstp dword [esp + 0x78]
lea ecx, [ebx + 4]
call fcn.004b8f40
lea ecx, [esp + 0x3c]
call fcn.004b8db0
add esp, 0xc0
pop ebp
pop edi
pop esi
pop ebx
ret 4
fld dword [esp + 0x18]
fstp dword [ebx + 0x34]
fld dword [esp + 0x1c]
fstp dword [ebx + 0x38]
fld dword [esp + 0x20]
fstp dword [ebx + 0x3c]
lea eax, [ebx + 0x34]
lea edi, [esp + 0xb4]
lea esi, [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [ebx + 4]
push dword [ebx + 0x2dc]
push dword [0x5f8c9c]
push dword [0x5f8c9c]
call fcn.004b93a0
fld dword [ebx + 0x34]
fadd dword [esp + 0xb4]
fstp dword [ebx + 0x34]
fld dword [ebx + 0x38]
fadd dword [esp + 0xb8]
fstp dword [ebx + 0x38]
fld dword [ebx + 0x3c]
fadd dword [esp + 0xbc]
fstp dword [ebx + 0x3c]
add esp, 0xc0
pop ebp
pop edi
pop esi
pop ebx
ret 4
fstp st(0)
jmp 0x4dfc30
fldz
fldz
jmp 0x4dfd30
fldz
fldz
jmp 0x4dfd30
fldz
fldz
jmp 0x4dfd30
fldz
fldz
jmp 0x4dfd30
fstp st(0)
jmp 0x4e0062