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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x437364
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x48
push ebx
push ebp
push esi
mov esi, dword [0x4531ac]
test esi, esi
push edi
mov ebx, ecx
jne 0x41cadf
push 0x108
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
mov dword [esp + 0x60], 0
je 0x41cacf
push 8
mov ecx, esi
call dword [sym.imp.ImageDll.dll_public:_void___thiscall_CTransFilter::constructor_unsigned_short_int_]
mov dword [esi], 0x43b88c
jmp 0x41cad1
xor esi, esi
mov dword [esp + 0x60], 0xffffffff
mov dword [0x4531ac], esi
mov eax, dword [0x4534e8]
mov ecx, dword [0x4534f4]
movsx edx, word [ebx + 0x260]
mov ebp, dword [0x4534ec]
mov edi, dword [0x4534f0]
mov dword [esp + 0x30], eax
lea eax, [ebx + 0x80]
mov dword [esp + 0x3c], ecx
push edx
push eax
lea ecx, [esp + 0x48]
add esi, 8
call dword [sym.imp.GRBase.dll_public:_void___thiscall_CGoRunSoftware::CNatureSpline::constructor_class_CGoRunSoftware::CFVector_const___long_int_]
lea ecx, [esp + 0x40]
mov dword [esp + 0x60], 1
call dword [sym.imp.GRBase.dll_public:_long_int___thiscall_CGoRunSoftware::CNatureSpline::Flatten_void_]
mov ecx, dword [0x4534f4]
mov edx, dword [0x4534ec]
sub ecx, edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x18], ecx
push ecx
fild dword [esp + 0x1c]
fstp dword [esp]
push eax
push edx
call dword [sym.imp.GRBase.dll_void___cdecl_CGoRunSoftware::WithinFloats_float___long_int__float_]
mov eax, dword [esp + 0x3c]
add esp, 0xc
sub edi, eax
mov dword [esp + 0x18], edi
xor edi, edi
fild dword [esp + 0x18]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], 0x100
fstp qword [esp + 0x24]
fild dword [esp + 0x14]
fmul qword [esp + 0x24]
fmul qword [0x4401e8]
fstp qword [esp + 0x1c]
fld dword [ebx + 0x80]
fcomp qword [esp + 0x1c]
fnstsw ax
test ah, 1
jne 0x41cbbd
mov eax, dword [esp + 0x3c]
fld dword [ebx + 0x84]
fmul dword [0x43b880]
sub eax, ebp
dec eax
mov dword [esp + 0x14], eax
fidiv dword [esp + 0x14]
call sub.MSVCRT.dll__ftol
jmp 0x41cc64
movsx ecx, word [ebx + 0x260]
fld dword [ebx + ecx*8 + 0x78]
fcomp qword [esp + 0x1c]
fnstsw ax
test ah, 0x41
je 0x41cbf3
fld dword [ebx + ecx*8 + 0x7c]
mov ecx, dword [esp + 0x3c]
fmul dword [0x43b880]
sub ecx, ebp
dec ecx
mov dword [esp + 0x14], ecx
fidiv dword [esp + 0x14]
call sub.MSVCRT.dll__ftol
jmp 0x41cc64
fld dword [ebx + 0x80]
fsubr qword [esp + 0x1c]
fstp qword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push edx
push eax
call dword [sym.imp.MSVCRT.dll_floor]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
fld dword [ecx + eax*4 + 4]
fsub dword [ecx + eax*4]
fild dword [esp + 0x1c]
fsubr qword [esp + 0x24]
fxch st(1)
fxch st(1)
fmulp st(1)
fadd dword [ecx + eax*4]
mov ecx, dword [esp + 0x44]
sub ecx, ebp
fmul qword [0x4401e0]
dec ecx
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
fdivp st(1)
fadd qword [0x43bbe0]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
add esp, 8
call sub.MSVCRT.dll__ftol
mov byte [edi + esi], al
mov eax, dword [esp + 0x18]
inc edi
dec eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], eax
jne 0x41cb75
mov eax, dword [ebx + 0x284]
test eax, eax
je 0x41ccb5
xor eax, eax
lea ecx, [esi + 0xff]
mov bl, byte [ecx]
mov dl, byte [eax + esi]
mov byte [eax + esi], bl
mov byte [ecx], dl
inc eax
dec ecx
cmp eax, 0x80
jl 0x41cc8d
xor eax, eax
mov bl, byte [eax + esi]
or dl, 0xff
sub dl, bl
mov byte [eax + esi], dl
inc eax
cmp eax, 0x100
jl 0x41cca2
mov esi, dword [0x4531ac]
lea ecx, [esp + 0x40]
mov dword [esp + 0x60], 0xffffffff
call dword [sym.imp.GRBase.dll_public:_void___thiscall_CGoRunSoftware::CNatureSpline::destructor_void_]
mov ecx, dword [esp + 0x58]
mov eax, esi
pop edi
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret