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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x38
fld dword [ebp + 8]
movsx edx, word [edi]
fld st(0)
push ebx
fld st(0)
push esi
fst qword [esp + 0x20]
mov dword [esp + 0x10], edx
fxch st(1)
fst qword [esp + 0x28]
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jp 0x4e6da8
fld dword [ebp + 0xc]
fldz
jmp 0x4e6a0c
fxch st(2)
fld st(1)
fld st(0)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jp 0x4e6da4
test edx, edx
fld st(2)
fsub dword [edi + 8]
fstp dword [esp + 0x1c]
fld st(1)
fsub dword [edi + 0xc]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fst dword [esp + 0x18]
jl 0x4e6a7b
fld qword [0x6f9ee8]
fld dword [esp + 0x18]
fcompi st(1)
fstp st(0)
jbe 0x4e6a7b
fstp st(2)
sub esp, 8
fstp st(2)
fstp st(1)
fstp qword [esp]
push str.Invalidating_handle__moved__f_n
call fcn.00408d10
add esp, 0xc
mov dword [esp + 0x10], 0xffffffff
jmp 0x4e6a88
cmp edx, 0xffffffff
fstp st(0)
jne 0x4e6ae7
fstp st(1)
fstp st(1)
fstp st(0)
movss xmm0, dword [0x6cc5ec]
comiss xmm0, dword [esp + 0x18]
ja 0x4e6daf
movss xmm0, dword [ebp + 8]
movss dword [esp + 0x34], xmm0
xorps xmm0, xmm0
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x14]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [ebp + 0xc]
push ecx
lea eax, [esp + 0x3c]
movss dword [esp + 0x44], xmm0
call fcn.004e3a90
mov edx, dword [esp + 0x18]
add esp, 8
cmp edx, 0xffffffff
je 0x4e6c6c
fldz
fld dword [ebp + 0xc]
fld dword [ebp + 8]
fxch st(2)
movss xmm0, dword [ebp + 8]
mov ecx, edx
imul ecx, ecx, 0x88
movss dword [edi + 8], xmm0
movss xmm0, dword [ebp + 0xc]
movss dword [edi + 0xc], xmm0
add ecx, dword [0xa6f96c]
mov ebx, dword [0xa6f970]
fld dword [ecx + 0x54]
xor esi, esi
fmul st(3)
fld dword [ecx + 0x58]
fmul st(3)
faddp st(1)
fsub dword [ecx + 0x5c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fxch st(1)
fcomi st(1)
fstp st(1)
jb 0x4e6bc2
movss xmm0, dword [esp + 0x10]
add edx, 1
add ecx, 0x88
cmp edx, ebx
movss dword [esp + 0x14], xmm0
jle 0x4e6b5e
mov ecx, dword [0xa6f96c]
add ecx, 0x88
mov edx, 1
mov eax, esi
add esi, 1
cmp eax, 0x1e
jg 0x4e6b8d
fld dword [ecx + 0x54]
fmul st(3)
fld dword [ecx + 0x58]
fmul st(3)
faddp st(1)
fsub dword [ecx + 0x5c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fxch st(1)
fcomi st(1)
jb 0x4e6c8b
fstp st(1)
jmp 0x4e6b34
fstp st(1)
push str.Re_search_on_handle_n
fstp st(1)
fstp st(0)
call fcn.00408d10
add esp, 4
cmp dword [ebp + 0x10], 0
mov word [edi], 0xffff
je 0x4e6c3b
push 0x6b058c
call fcn.00408d10
add esp, 4
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 0x10]
sub ecx, 0x88
sub edx, 1
movss dword [esp + 0x10], xmm0
jns 0x4e6bea
lea edx, [ebx - 1]
mov ecx, edx
imul ecx, ecx, 0x88
add ecx, dword [0xa6f96c]
mov eax, esi
add esi, 1
cmp eax, 0x1e
jg 0x4e6c1d
fld dword [ecx + 0x54]
fmul st(3)
fld dword [ecx + 0x58]
fmul st(3)
faddp st(1)
fsub dword [ecx + 0x5c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fcomi st(1)
jbe 0x4e6cad
movss xmm0, dword [esp + 0x14]
fstp st(0)
jmp 0x4e6bc8
fstp st(1)
push str.re_search_on_handle_n
fstp st(1)
fstp st(0)
call fcn.00408d10
add esp, 4
cmp dword [ebp + 0x10], 0
mov word [edi], 0xffff
jne 0x4e6c9a
fld qword [esp + 0x28]
movsx edx, word [edi]
fld qword [esp + 0x20]
fucompi st(1)
lahf
test ah, 0x44
fstp st(0)
mov dword [ebp + 0x10], 1
mov dword [esp + 0x10], edx
jp 0x4e6daa
fldz
fld dword [ebp + 0xc]
fld dword [ebp + 8]
jmp 0x4e6a0a
movss xmm0, dword [ebp + 8]
movss dword [edi + 8], xmm0
movss xmm0, dword [ebp + 0xc]
movss dword [edi + 0xc], xmm0
mov word [edi], 0xffff
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esp + 0x14]
sub ecx, 0x88
sub edx, 1
jmp 0x4e6cb5
push str.stopped_recursion_n
call fcn.00408d10
add esp, 4
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esp + 0x10]
fxch st(2)
fxch st(1)
fld dword [ecx + 0x60]
fmul st(5)
fld dword [ecx + 0x64]
fmul st(5)
faddp st(1)
fsub dword [ecx + 0x68]
mov ecx, dword [ecx + 0x78]
movsx eax, byte [ecx + 0x10]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fsubp st(1)
fstp dword [esp + 0x18]
cvttss2si eax, dword [esp + 0x18]
fld dword [esp + 0x18]
mov ecx, eax
fxch st(2)
fcompi st(2)
fstp st(1)
jbe 0x4e6cf8
sub ecx, 1
lea eax, [ecx + 0x14]
cmp eax, 0x68
ja 0x4e6d91
fld st(1)
mov word [edi], dx
fsub st(1)
mov word [edi + 2], cx
fld qword [0x6f9ba8]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x4e6d62
sub esp, 0x20
fxch st(2)
fstp qword [esp + 0x18]
mov eax, 0x92492493
fxch st(2)
fstp qword [esp + 0x10]
fxch st(1)
fstp qword [esp + 8]
fstp qword [esp]
push ecx
push edx
mov ecx, edi
sub ecx, 0xa968c0
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
push str.handle__d_Row__d_Col__d_TopD__f_BotD__f_x__f_z__f_n
call fcn.00408d10
add esp, 0x30
jmp 0x4e6d6a
fstp st(2)
fstp st(2)
fstp st(1)
fstp st(0)
movss xmm0, dword [esp + 0x14]
movss dword [edi + 0x14], xmm0
movss xmm0, dword [esp + 0x10]
movss dword [edi + 0x18], xmm0
movss xmm0, dword [esp + 0x18]
movss dword [edi + 0x10], xmm0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(2)
mov word [edi], 0xffff
fstp st(2)
fstp st(1)
fstp st(0)
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(1)
fstp st(1)
fstp st(0)
mov word [edi], 0xffff
pop esi
pop ebx
mov esp, ebp
pop ebp
ret