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

Disassembly:
sub esp, 0x494
mov ecx, dword [esp + 0x498]
push ebx
push ebp
push esi
mov edx, dword [ecx + 4]
mov esi, dword [esp + 0x4a8]
xor eax, eax
push edi
test edx, edx
mov ecx, 6
lea edi, [esp + 0x10]
setne al
rep movsd dword es:[edi], dword [esi]
inc eax
xor edx, edx
xor ecx, ecx
lea esi, [esp + 0x198]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], esi
lea ebp, [esp + 0x18c]
lea ebx, [esp + 0x84]
cmp eax, 1
mov eax, dword [esp + 0x4a8]
jne 0x4eea90
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x4b8]
push eax
xor eax, eax
mov ax, word [ecx + edx*4]
lea edx, [ecx + edx*4]
xor ecx, ecx
mov cx, word [edx + 2]
push ecx
push eax
call dword [esp + 0x4c0]
add esp, 0xc
test eax, eax
je 0x4ef092
mov ecx, 6
mov esi, ebp
lea edi, [esp + 0x10]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
sub ebx, 8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x2c]
sub ebp, 0x18
dec ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x28]
sub ecx, 0x18
mov dword [esp + 0x28], ecx
mov esi, ecx
mov ecx, dword [esp + 0x2c]
jmp 0x4ef078
mov edi, dword [eax + 4]
xor eax, eax
shl edx, 4
add edx, edi
mov edi, edx
xor edx, edx
mov dl, byte [edi + 2]
mov ax, word [edi]
mov dword [esp + 0x3c], edx
xor edx, edx
mov dl, byte [edi + 3]
mov dword [esp + 0x80], eax
mov dword [esp + 0x30], edx
xor edx, edx
mov dx, word [edi + 4]
mov dword [esp + 0x38], edx
xor edx, edx
mov dx, word [edi + 6]
fld dword [esp + eax + 0x10]
mov dword [esp + 0x34], edx
lea edx, [esp + eax + 0x10]
fsub dword [edi + 8]
lea eax, [esp + eax + 0x1c]
fstp dword [esp + 0x44]
fld dword [eax]
fsub dword [edi + 8]
fstp dword [esp + 0x70]
fld dword [edx]
fsub dword [edi + 0xc]
fstp dword [esp + 0x40]
fld dword [eax]
mov eax, dword [esp + 0x40]
fsub dword [edi + 0xc]
test eax, eax
fstp dword [esp + 0x48]
jge 0x4eeb0e
mov eax, dword [esp + 0x48]
test eax, eax
jl 0x4eee3a
mov eax, dword [esp + 0x44]
test eax, eax
jl 0x4eeb22
mov eax, dword [esp + 0x70]
test eax, eax
jge 0x4ef070
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x44]
xor eax, edx
test eax, eax
js 0x4eebae
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
xor eax, edx
test eax, eax
js 0x4eebae
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
add ebp, 0x18
add ebx, 8
inc ecx
add esi, 0x18
cmp edx, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], esi
jge 0x4eeb85
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov dword [ebx], edx
mov dword [esp + ecx*8 + 0x88], eax
mov eax, dword [esp + 0x10]
mov edx, ebp
mov dword [edx], eax
mov eax, dword [esp + 0x14]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
jmp 0x4eee21
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov dword [ebx], edx
mov dword [esp + ecx*8 + 0x88], eax
mov eax, dword [esp + 0x10]
mov edx, ebp
mov dword [edx], eax
mov eax, dword [esp + 0x14]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
jmp 0x4eed0b
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x44]
xor edx, eax
test edx, edx
jns 0x4eed26
mov eax, dword [esp + 0x40]
test eax, eax
jl 0x4eed26
mov eax, dword [esp + 0x48]
test eax, eax
jl 0x4eed26
mov eax, dword [esp + 0x80]
test eax, eax
je 0x4eec3f
cmp eax, 4
je 0x4eec18
cmp eax, 8
jne 0x4eec6b
fld dword [edi + 8]
mov eax, dword [esp + 0x4b0]
fsub dword [esp + 0x18]
fld st(0)
fmul dword [eax + 0x10]
fadd dword [esp + 0x10]
fstp dword [esp + 0x64]
fmul dword [eax + 0x14]
fadd dword [esp + 0x14]
fstp dword [esp + 0x68]
fld dword [edi + 8]
jmp 0x4eec67
fld dword [edi + 8]
mov eax, dword [esp + 0x4b0]
fsub dword [esp + 0x14]
fld st(0)
fmul dword [eax + 8]
fadd dword [esp + 0x10]
fstp dword [esp + 0x64]
fld dword [edi + 8]
fstp dword [esp + 0x68]
fmul dword [eax + 0xc]
jmp 0x4eec63
fld dword [edi + 8]
fsub dword [esp + 0x10]
fld dword [edi + 8]
mov eax, dword [esp + 0x4b0]
fstp dword [esp + 0x64]
fld st(0)
fmul dword [eax]
fadd dword [esp + 0x14]
fstp dword [esp + 0x68]
fmul dword [eax + 4]
fadd dword [esp + 0x18]
fstp dword [esp + 0x6c]
mov eax, dword [esp + 0x44]
add ebp, 0x18
add ebx, 8
inc ecx
add esi, 0x18
mov dword [esp + 0x2c], ecx
test eax, eax
mov dword [esp + 0x28], esi
jge 0x4eece7
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov dword [ebx], edx
mov dword [esp + ecx*8 + 0x88], eax
mov eax, dword [esp + 0x10]
mov edx, ebp
mov edi, dword [esp + 0x64]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x1c]
mov edx, esi
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x68]
mov dword [edx], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x6c]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], edi
mov dword [edx + 8], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
jmp 0x4ef078
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov dword [ebx], edx
mov dword [esp + ecx*8 + 0x88], eax
mov eax, dword [esp + 0x64]
mov edx, ebp
mov dword [edx], eax
mov eax, dword [esp + 0x68]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x1c]
mov edx, esi
mov dword [edx], eax
mov eax, dword [esp + 0x20]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x24]
jmp 0x4ef06d
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x40]
xor edx, eax
test edx, edx
jns 0x4eee93
mov eax, dword [esp + 0x44]
test eax, eax
jge 0x4eee93
mov eax, dword [esp + 0x70]
test eax, eax
jge 0x4eee93
mov eax, dword [esp + 0x80]
test eax, eax
je 0x4eedb7
cmp eax, 4
je 0x4eed90
cmp eax, 8
jne 0x4eede3
fld dword [edi + 0xc]
mov eax, dword [esp + 0x4b0]
fsub dword [esp + 0x18]
fld st(0)
fmul dword [eax + 0x10]
fadd dword [esp + 0x10]
fstp dword [esp + 0x74]
fmul dword [eax + 0x14]
fadd dword [esp + 0x14]
fstp dword [esp + 0x78]
fld dword [edi + 0xc]
jmp 0x4eeddf
fld dword [edi + 0xc]
mov eax, dword [esp + 0x4b0]
fsub dword [esp + 0x14]
fld st(0)
fmul dword [eax + 8]
fadd dword [esp + 0x10]
fstp dword [esp + 0x74]
fld dword [edi + 0xc]
fstp dword [esp + 0x78]
fmul dword [eax + 0xc]
jmp 0x4eeddb
fld dword [edi + 0xc]
fsub dword [esp + 0x10]
fld dword [edi + 0xc]
mov eax, dword [esp + 0x4b0]
fstp dword [esp + 0x74]
fld st(0)
fmul dword [eax]
fadd dword [esp + 0x14]
fstp dword [esp + 0x78]
fmul dword [eax + 4]
fadd dword [esp + 0x18]
fstp dword [esp + 0x7c]
mov eax, dword [esp + 0x40]
add ebp, 0x18
add ebx, 8
inc ecx
add esi, 0x18
mov dword [esp + 0x2c], ecx
test eax, eax
mov dword [esp + 0x28], esi
jge 0x4eee47
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov dword [ebx], edx
mov dword [esp + ecx*8 + 0x88], eax
mov eax, dword [esp + 0x74]
mov edx, ebp
mov dword [edx], eax
mov eax, dword [esp + 0x78]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x1c]
mov edx, esi
mov dword [edx], eax
mov eax, dword [esp + 0x20]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x24]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
jmp 0x4ef078
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov dword [ebx], edx
mov dword [esp + ecx*8 + 0x88], eax
mov eax, dword [esp + 0x10]
mov edx, ebp
mov edi, dword [esp + 0x74]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x1c]
mov edx, esi
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x78]
mov dword [edx], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x7c]
jmp 0x4ef062
mov eax, dword [esp + 0x80]
test eax, eax
je 0x4eef51
cmp eax, 4
je 0x4eef04
cmp eax, 8
jne 0x4eefa2
fld dword [edi + 8]
mov eax, dword [esp + 0x4b0]
fsub dword [esp + 0x18]
fld st(0)
fmul dword [eax + 0x10]
fadd dword [esp + 0x10]
fstp dword [esp + 0x4c]
fmul dword [eax + 0x14]
fadd dword [esp + 0x14]
fstp dword [esp + 0x50]
fld dword [edi + 8]
fstp dword [esp + 0x54]
fld dword [edi + 0xc]
fsub dword [esp + 0x18]
fld st(0)
fmul dword [eax + 0x10]
fadd dword [esp + 0x10]
fstp dword [esp + 0x58]
fmul dword [eax + 0x14]
fadd dword [esp + 0x14]
fstp dword [esp + 0x5c]
fld dword [edi + 0xc]
jmp 0x4eef9e
fld dword [edi + 8]
mov eax, dword [esp + 0x4b0]
fsub dword [esp + 0x14]
fld st(0)
fmul dword [eax + 8]
fadd dword [esp + 0x10]
fstp dword [esp + 0x4c]
fld dword [edi + 8]
fstp dword [esp + 0x50]
fmul dword [eax + 0xc]
fadd dword [esp + 0x18]
fstp dword [esp + 0x54]
fld dword [edi + 0xc]
fsub dword [esp + 0x14]
fld st(0)
fmul dword [eax + 8]
fadd dword [esp + 0x10]
fstp dword [esp + 0x58]
fld dword [edi + 0xc]
fstp dword [esp + 0x5c]
fmul dword [eax + 0xc]
jmp 0x4eef9a
fld dword [edi + 8]
fsub dword [esp + 0x10]
fld dword [edi + 8]
mov eax, dword [esp + 0x4b0]
fstp dword [esp + 0x4c]
fld st(0)
fmul dword [eax]
fadd dword [esp + 0x14]
fstp dword [esp + 0x50]
fmul dword [eax + 4]
fadd dword [esp + 0x18]
fstp dword [esp + 0x54]
fld dword [edi + 0xc]
fsub dword [esp + 0x10]
fld dword [edi + 0xc]
fstp dword [esp + 0x58]
fld st(0)
fmul dword [eax]
fadd dword [esp + 0x14]
fstp dword [esp + 0x5c]
fmul dword [eax + 4]
fadd dword [esp + 0x18]
fstp dword [esp + 0x60]
mov eax, dword [esp + 0x44]
add ebp, 0x18
add ebx, 8
inc ecx
add esi, 0x18
mov dword [esp + 0x2c], ecx
test eax, eax
mov dword [esp + 0x28], esi
jge 0x4ef01b
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov dword [ebx], edx
mov dword [esp + ecx*8 + 0x88], eax
mov eax, dword [esp + 0x58]
mov edx, ebp
mov edi, dword [esp + 0x4c]
mov dword [edx], eax
mov eax, dword [esp + 0x5c]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x60]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x1c]
mov edx, esi
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x50]
mov dword [edx], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x54]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], edi
mov dword [edx + 8], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
jmp 0x4ef078
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov dword [ebx], edx
mov dword [esp + ecx*8 + 0x88], eax
mov eax, dword [esp + 0x4c]
mov edx, ebp
mov edi, dword [esp + 0x58]
mov dword [edx], eax
mov eax, dword [esp + 0x50]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x54]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x1c]
mov edx, esi
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x5c]
mov dword [edx], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x60]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], edi
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
test ecx, ecx
jge 0x4eea1f
mov eax, dword [esp + 0x4a8]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x494
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x494
ret