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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov edi, dword [esi + 0xf0]
mov dword [ebp - 0xc], edi
mov dword [esi + 0xe4], ebx
mov dword [esi + 0xec], ebx
cmp byte [esi + 0x10], bl
jne 0x6efc6fcc
cmp byte [esi + 0x11], bl
jne 0x6efc6fcc
mov eax, dword [esi + 0xe0]
mov edx, dword [esi + 0x88]
mov ecx, dword [eax + 0xc]
sub ecx, edx
cmp ecx, edi
jge 0x6ef86e3f
mov edi, ecx
cmp dword [eax + 4], ebx
jne 0x6efc6d60
cmp byte [ebp + 8], 0
jne 0x6ef86ed6
mov eax, dword [esi + 0xe8]
mov ebx, dword [ebp - 0xc]
cmp ebx, eax
jl 0x6ef86e61
mov ebx, eax
test ebx, ebx
je 0x6ef86ea5
mov eax, dword [esi + 8]
cmp byte [eax + 0x75], 0
jne 0x6efc6e76
mov eax, dword [esi + 0x3c]
imul eax, ebx
push eax
push dword [esi + 0xd8]
push dword [esi + 0xdc]
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esi + 0x88], ebx
add dword [esi + 0x84], ebx
add dword [esi + 0xe4], ebx
add dword [esi + 0xec], ebx
xor ebx, ebx
cmp dword [esi + 0x24], ebx
jle 0x6ef86ed6
xor edi, edi
mov eax, dword [esi + 0x84]
mov ecx, dword [esi + 0xe0]
push 0
push eax
add ecx, edi
sub eax, dword [ecx + 4]
inc eax
push eax
lea eax, [ebp + 8]
push eax
call fcn.6ef86d9f
inc ebx
add edi, 0x24
cmp ebx, dword [esi + 0x24]
jl 0x6ef86eae
fild dword [esi + 0xe4]
lea eax, [esi + 0x90]
fld qword [esi + 0x58]
lea ecx, [esi + 0x98]
mov edi, dword [esi + 0x84]
fmul st(1)
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esi + 0xec]
mov dword [ebp + 8], eax
fild dword [ebp + 8]
cdq
mov dword [ebp + 8], edi
fmul qword [esi + 0x60]
fadd qword [ecx]
fstp qword [ecx]
lea ecx, [esi + 0xb0]
add dword [ecx], eax
fmul qword [0x6ef863c8]
mov eax, 0x186a0
adc dword [ecx + 4], edx
cmp edi, eax
fdiv dword [esi + 0x48]
fstp qword [esi + 0xc8]
jg 0x6ef86fdd
mov ecx, dword [esi + 0x88]
cmp ecx, eax
jg 0x6ef86fdd
mov eax, dword [esi + 0x110]
cmp byte [eax + 0xd4], 0
je 0x6ef86f75
cmp edi, ecx
mov edx, edi
jg 0x6ef86f5a
mov edx, ecx
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
jg 0x6ef86f66
mov eax, ecx
imul edx
test edx, edx
jl 0x6ef86f75
jg 0x6ef86fdd
cmp eax, 0x989680
ja 0x6ef86fdd
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret 4
mov eax, dword [esi + 0x110]
cmp byte [eax + 0x60], 0
jne 0x6efc734e
mov ecx, dword [esi + 0x78]
lea eax, [edi + 1]
cdq
idiv ecx
mov edx, dword [esi + 0x7c]
imul ecx, eax
imul edx, eax
sub dword [esi + 0x88], edx
sub edi, ecx
mov dword [esi + 0x84], edi
xor edi, edi
xor edx, edx
cmp dword [esi + 0x24], edi
jle 0x6ef86f75
mov eax, dword [esi + 0xe0]
add eax, edi
sub dword [eax + 8], ecx
sub dword [eax + 0xc], ecx
inc edx
add edi, 0x24
cmp edx, dword [esi + 0x24]
jge 0x6ef86f75
jmp 0x6ef8701a
cmp edi, ebx
jle 0x6ef86e48
mov dword [ebp - 4], edx
add edx, edi
cmp dword [ebp - 4], edx
jge 0x6efc6e62
and dword [ebp - 0x10], 0
cmp dword [esi + 0x24], 0
jle 0x6efc6e4e
xor ebx, ebx
mov ecx, dword [esi + 0xe0]
push dword [ebp - 4]
add ecx, ebx
call fcn.6efe5393
fld dword [eax]
mov eax, dword [esi + 0x54]
mov edx, dword [esi + 0xdc]
test eax, eax
jne 0x6efc6e19
fcom dword [esi + 0x68]
fnstsw ax
test ah, 5
jp 0x6efc6db6
fstp st(0)
fld dword [esi + 0x68]
jmp 0x6efc6dc5
fcom dword [esi + 0x6c]
fnstsw ax
test ah, 0x41
jne 0x6efc6dc5
fstp st(0)
fld dword [esi + 0x6c]
fstp dword [ebp - 8]
fld dword [ebp - 8]
fistp dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x74]
test ecx, ecx
jle 0x6efc6dda
sar eax, cl
mov ecx, dword [esi + 0xf8]
sar eax, cl
shl eax, cl
mov ecx, dword [esi + 0x2c]
dec ecx
je 0x6efc6e13
dec ecx
je 0x6efc6e0e
dec ecx
je 0x6efc6df7
dec ecx
jne 0x6efc6e33
mov dword [edx], eax
jmp 0x6efc6e33
and eax, 0xffffff
mov ecx, eax
shr ecx, 8
mov byte [edx], al
shr eax, 0x10
mov byte [edx + 1], cl
mov byte [edx + 2], al
jmp 0x6efc6e33
mov word [edx], ax
jmp 0x6efc6e33
sub al, 0x80
mov byte [edx], al
jmp 0x6efc6e33
cmp eax, 1
jne 0x6efc6e31
mov eax, dword [esi + 0x50]
test eax, eax
jne 0x6efc6e2c
fmul dword [esi + 0x70]
fstp dword [edx]
jmp 0x6efc6e33
cmp eax, 1
je 0x6efc6e28
fstp st(0)
mov eax, dword [esi + 0x2c]
add dword [esi + 0xdc], eax
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
add ebx, 0x24
cmp eax, dword [esi + 0x24]
jl 0x6efc6d86
mov eax, dword [esi + 0x88]
inc dword [ebp - 4]
add eax, edi
cmp dword [ebp - 4], eax
jl 0x6efc6d76
sub dword [ebp - 0xc], edi
add dword [esi + 0x88], edi
add dword [esi + 0xec], edi
jmp 0x6ef86e48
mov eax, dword [esi + 0x24]
and dword [ebp - 4], 0
imul eax, ebx
test eax, eax
jle 0x6ef86e8d
mov edi, dword [esi + 0x50]
mov edx, dword [esi + 0xd8]
test edi, edi
jne 0x6efc6eeb
mov ecx, dword [esi + 0x28]
xor eax, eax
dec ecx
mov dword [ebp + 8], eax
je 0x6efc6ecf
dec ecx
je 0x6efc6eca
dec ecx
je 0x6efc6ead
dec ecx
jne 0x6efc6ed8
mov eax, dword [edx]
jmp 0x6efc6ed5
movzx eax, byte [edx + 2]
movzx ecx, byte [edx + 1]
shl eax, 8
or eax, ecx
movzx ecx, byte [edx]
shl eax, 8
or eax, ecx
shl eax, 8
sar eax, 8
jmp 0x6efc6ed5
movsx eax, word [edx]
jmp 0x6efc6ed5
movzx eax, byte [edx]
add eax, 0xffffff80
mov dword [ebp + 8], eax
mov ecx, dword [esi + 0x74]
test ecx, ecx
jge 0x6efc6ee6
neg ecx
shl eax, cl
mov dword [ebp + 8], eax
fild dword [ebp + 8]
jmp 0x6efc6f09
cmp edi, 1
jne 0x6efc6f07
mov eax, dword [esi + 0x54]
test eax, eax
jne 0x6efc6efe
fld dword [esi + 0x70]
fmul dword [edx]
jmp 0x6efc6f09
cmp eax, 1
jne 0x6efc6f07
fld dword [edx]
jmp 0x6efc6f09
fldz
mov eax, dword [esi + 0x28]
add eax, edx
mov edx, dword [esi + 0xdc]
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0x54]
test eax, eax
jne 0x6efc6f95
fcom dword [esi + 0x68]
fnstsw ax
test ah, 5
jp 0x6efc6f32
fstp st(0)
fld dword [esi + 0x68]
jmp 0x6efc6f41
fcom dword [esi + 0x6c]
fnstsw ax
test ah, 0x41
jne 0x6efc6f41
fstp st(0)
fld dword [esi + 0x6c]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fistp dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x74]
test ecx, ecx
jle 0x6efc6f56
sar eax, cl
mov ecx, dword [esi + 0xf8]
sar eax, cl
shl eax, cl
mov ecx, dword [esi + 0x2c]
dec ecx
je 0x6efc6f8f
dec ecx
je 0x6efc6f8a
dec ecx
je 0x6efc6f73
dec ecx
jne 0x6efc6fac
mov dword [edx], eax
jmp 0x6efc6fac
and eax, 0xffffff
mov ecx, eax
shr ecx, 8
mov byte [edx], al
shr eax, 0x10
mov byte [edx + 1], cl
mov byte [edx + 2], al
jmp 0x6efc6fac
mov word [edx], ax
jmp 0x6efc6fac
sub al, 0x80
mov byte [edx], al
jmp 0x6efc6fac
cmp eax, 1
jne 0x6efc6faa
test edi, edi
jne 0x6efc6fa5
fmul dword [esi + 0x70]
fstp dword [edx]
jmp 0x6efc6fac
cmp edi, 1
je 0x6efc6fa1
fstp st(0)
mov eax, dword [esi + 0x2c]
add dword [esi + 0xdc], eax
mov eax, dword [esi + 0x24]
inc dword [ebp - 4]
imul eax, ebx
cmp dword [ebp - 4], eax
jge 0x6ef86e8d
jmp 0x6efc6e88
mov eax, dword [esi + 0xe0]
mov edx, dword [esi + 0x88]
mov ecx, dword [eax + 0xc]
sub ecx, edx
cmp ecx, edi
jge 0x6efc6fe6
mov dword [ebp - 8], ecx
jmp 0x6efc6feb
mov ecx, edi
mov dword [ebp - 8], edi
cmp dword [eax + 4], ebx
je 0x6efc7143
cmp ecx, ebx
jle 0x6efc7143
mov dword [ebp - 4], edx
add edx, ecx
cmp dword [ebp - 4], edx
jge 0x6efc7131
xor edi, edi
cmp dword [esi + 0x24], edi
jle 0x6efc7037
xor ebx, ebx
mov ecx, dword [esi + 0xe0]
push dword [ebp - 4]
add ecx, ebx
call fcn.6efe5393
fld dword [eax]
mov ecx, dword [esi + 0xd0]
fstp dword [ecx + edi*4]
inc edi
add ebx, 0x24
cmp edi, dword [esi + 0x24]
jl 0x6efc7013
xor edi, edi
cmp dword [esi + 0x20], edi
jle 0x6efc711c
mov ecx, dword [esi + 0x1c]
fldz
mov edx, dword [esi + 0xc]
mov eax, ecx
imul eax, edi
lea eax, [edx + eax*4]
test ecx, ecx
jle 0x6efc706e
mov ecx, dword [esi + 0xd0]
mov edx, dword [esi + 0x1c]
sub ecx, eax
fld dword [eax + ecx]
fmul dword [eax]
add eax, 4
dec edx
faddp st(1)
jne 0x6efc7061
mov eax, dword [esi + 0x54]
mov edx, dword [esi + 0xdc]
test eax, eax
jne 0x6efc70ef
fcom dword [esi + 0x68]
fnstsw ax
test ah, 5
jp 0x6efc708c
fstp st(0)
fld dword [esi + 0x68]
jmp 0x6efc709b
fcom dword [esi + 0x6c]
fnstsw ax
test ah, 0x41
jne 0x6efc709b
fstp st(0)
fld dword [esi + 0x6c]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fistp dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x74]
test ecx, ecx
jle 0x6efc70b0
sar eax, cl
mov ecx, dword [esi + 0xf8]
sar eax, cl
shl eax, cl
mov ecx, dword [esi + 0x2c]
dec ecx
je 0x6efc70e9
dec ecx
je 0x6efc70e4
dec ecx
je 0x6efc70cd
dec ecx
jne 0x6efc7109
mov dword [edx], eax
jmp 0x6efc7109
and eax, 0xffffff
mov ecx, eax
shr ecx, 8
mov byte [edx], al
shr eax, 0x10
mov byte [edx + 1], cl
mov byte [edx + 2], al
jmp 0x6efc7109
mov word [edx], ax
jmp 0x6efc7109
sub al, 0x80
mov byte [edx], al
jmp 0x6efc7109
cmp eax, 1
jne 0x6efc7107
mov eax, dword [esi + 0x50]
test eax, eax
jne 0x6efc7102
fmul dword [esi + 0x70]
fstp dword [edx]
jmp 0x6efc7109
cmp eax, 1
je 0x6efc70fe
fstp st(0)
mov eax, dword [esi + 0x2c]
add dword [esi + 0xdc], eax
inc edi
cmp edi, dword [esi + 0x20]
jl 0x6efc7042
mov eax, dword [esi + 0x88]
add eax, dword [ebp - 8]
inc dword [ebp - 4]
cmp dword [ebp - 4], eax
jl 0x6efc700a
mov eax, dword [ebp - 8]
sub dword [ebp - 0xc], eax
add dword [esi + 0x88], eax
add dword [esi + 0xec], eax
cmp byte [ebp + 8], 0
jne 0x6ef86ed6
mov eax, dword [esi + 0xe8]
mov ebx, dword [ebp - 0xc]
cmp ebx, eax
jl 0x6efc715c
mov ebx, eax
test ebx, ebx
jle 0x6efc72fb
mov dword [ebp - 0x10], ebx
xor edi, edi
cmp dword [esi + 0x1c], edi
jle 0x6efc720d
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0xd8]
test eax, eax
jne 0x6efc71d3
dec edx
mov dword [ebp + 8], eax
je 0x6efc71b7
dec edx
je 0x6efc71b2
dec edx
je 0x6efc7195
dec edx
jne 0x6efc71c0
mov eax, dword [ecx]
jmp 0x6efc71bd
movzx eax, byte [ecx + 2]
movzx edx, byte [ecx + 1]
movzx ecx, byte [ecx]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
shl eax, 8
sar eax, 8
jmp 0x6efc71bd
movsx eax, word [ecx]
jmp 0x6efc71bd
movzx eax, byte [ecx]
add eax, 0xffffff80
mov dword [ebp + 8], eax
mov ecx, dword [esi + 0x74]
test ecx, ecx
jge 0x6efc71ce
neg ecx
shl eax, cl
mov dword [ebp + 8], eax
fild dword [ebp + 8]
jmp 0x6efc71f1
cmp eax, 1
jne 0x6efc71ef
mov eax, dword [esi + 0x54]
test eax, eax
jne 0x6efc71e6
fld dword [esi + 0x70]
fmul dword [ecx]
jmp 0x6efc71f1
cmp eax, 1
jne 0x6efc71ef
fld dword [ecx]
jmp 0x6efc71f1
fldz
mov eax, dword [esi + 0xd0]
fstp dword [eax + edi*4]
mov edx, dword [esi + 0x28]
add dword [esi + 0xd8], edx
inc edi
cmp edi, dword [esi + 0x1c]
jl 0x6efc7175
xor edi, edi
cmp dword [esi + 0x20], edi
jle 0x6efc72f2
mov ecx, dword [esi + 0x1c]
fldz
mov edx, dword [esi + 0xc]
mov eax, ecx
imul eax, edi
lea eax, [edx + eax*4]
test ecx, ecx
jle 0x6efc7244
mov ecx, dword [esi + 0xd0]
mov edx, dword [esi + 0x1c]
sub ecx, eax
fld dword [eax + ecx]
fmul dword [eax]
add eax, 4
dec edx
faddp st(1)
jne 0x6efc7237
mov eax, dword [esi + 0x54]
mov edx, dword [esi + 0xdc]
test eax, eax
jne 0x6efc72c5
fcom dword [esi + 0x68]
fnstsw ax
test ah, 5
jp 0x6efc7262
fstp st(0)
fld dword [esi + 0x68]
jmp 0x6efc7271
fcom dword [esi + 0x6c]
fnstsw ax
test ah, 0x41
jne 0x6efc7271
fstp st(0)
fld dword [esi + 0x6c]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fistp dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x74]
test ecx, ecx
jle 0x6efc7286
sar eax, cl
mov ecx, dword [esi + 0xf8]
sar eax, cl
shl eax, cl
mov ecx, dword [esi + 0x2c]
dec ecx
je 0x6efc72bf
dec ecx
je 0x6efc72ba
dec ecx
je 0x6efc72a3
dec ecx
jne 0x6efc72df
mov dword [edx], eax
jmp 0x6efc72df
and eax, 0xffffff
mov ecx, eax
shr ecx, 8
mov byte [edx], al
shr eax, 0x10
mov byte [edx + 1], cl
mov byte [edx + 2], al
jmp 0x6efc72df
mov word [edx], ax
jmp 0x6efc72df
sub al, 0x80
mov byte [edx], al
jmp 0x6efc72df
cmp eax, 1
jne 0x6efc72dd
mov eax, dword [esi + 0x50]
test eax, eax
jne 0x6efc72d8
fmul dword [esi + 0x70]
fstp dword [edx]
jmp 0x6efc72df
cmp eax, 1
je 0x6efc72d4
fstp st(0)
mov eax, dword [esi + 0x2c]
add dword [esi + 0xdc], eax
inc edi
cmp edi, dword [esi + 0x20]
jl 0x6efc7218
dec dword [ebp - 0x10]
jne 0x6efc7167
add dword [esi + 0x88], ebx
add dword [esi + 0x84], ebx
add dword [esi + 0xe4], ebx
add dword [esi + 0xec], ebx
xor edi, edi
cmp dword [esi + 0x24], edi
jle 0x6ef86ed6
xor ebx, ebx
mov eax, dword [esi + 0x84]
mov ecx, dword [esi + 0xe0]
push 0
push eax
add ecx, ebx
sub eax, dword [ecx + 4]
inc eax
push eax
lea eax, [ebp + 8]
push eax
call fcn.6ef86d9f
inc edi
add ebx, 0x24
cmp edi, dword [esi + 0x24]
jge 0x6ef86ed6
jmp 0x6efc7320
lea ebx, [esi + 0x88]
fild dword [ebx]
push ecx
push ecx
fmul qword [esi + 0x60]
fadd qword [esi + 0x190]
fild dword [ebp + 8]
fmul qword [esi + 0x58]
fsubp st(1)
fst qword [ebp - 0x18]
fdiv qword [esi + 0x58]
fstp qword [esp]
call sub.msvcrt.dll_floor
pop ecx
pop ecx
call sub.msvcrt.dll__ftol2_sse
mov ecx, eax
mov dword [ebp + 8], ecx
fild dword [ebp + 8]
add ecx, edi
fmul qword [esi + 0x58]
fsubr qword [ebp - 0x18]
fstp qword [esi + 0x190]
fld dword [esi + 0x48]
fmul qword [esi + 0x190]
fstp qword [esi + 0x1a0]
fld dword [esi + 0x4c]
fcomp dword [esi + 0x48]
fnstsw ax
test ah, 0x41
jne 0x6efc73b5
fld dword [esi + 0x48]
jmp 0x6efc73b8
fld dword [esi + 0x4c]
fmul qword [esi + 0x190]
mov eax, dword [esi + 0x110]
sub edi, ecx
xor edx, edx
fst qword [esi + 0x1a8]
fmul qword [eax + 0x130]
mov dword [esi + 0x84], edi
xor edi, edi
cmp dword [esi + 0x24], edi
fstp qword [esi + 0x1b0]
mov dword [ebx], edi
jle 0x6ef86f75
mov eax, dword [esi + 0xe0]
add eax, edi
sub dword [eax + 8], ecx
sub dword [eax + 0xc], ecx
inc edx
add edi, 0x24
cmp edx, dword [esi + 0x24]
jge 0x6ef86f75
jmp 0x6efc73ed