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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4d9d70
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xe1c
push ebx
push esi
push edi
mov edi, dword [ebp + 0x3c]
mov ebx, ecx
push edi
call fcn.0044f6f0
mov ecx, dword [edi]
mov esi, eax
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x1c], esi
push eax
push ecx
push str.No._of_DoF__d__DoK:__d
push 5
call fcn.0047f450
add esp, 0x10
lea ecx, [esp + 0x78]
push 1
call dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_ofstream::constructor_void_]
lea ecx, [esp + 0x30]
mov dword [esp + 0xe30], 0
call fcn.0047d390
mov edx, dword [0x531a24]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 4
mov edi, ecx
push str..slw
mov byte [esp + 0xe38], 1
lea edx, [edx + edi - 4]
push edx
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x47e876
mov ecx, dword [0x531a24]
lea eax, [edi - 4]
push eax
lea edx, [esp + 0x16c]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
mov byte [esp + edi + 0x164], 0
jmp 0x47e8a4
mov edi, dword [0x531a24]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x168]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x4cc]
push str..log
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
lea edx, [esp + 0x4d4]
push 4
lea eax, [esp + 0x174]
push edx
push eax
call dword [sym.imp.MSVCRT.dll_strncat]
add esp, 0x14
lea ecx, [esp + 0x168]
push ecx
lea ecx, [esp + 0x34]
call fcn.0047d670
mov edx, dword [esp + 0x38]
mov ecx, dword [sym.imp.MSVCIRT.dll_int_const_filebuf::openprot]
mov eax, dword [edx]
mov edx, dword [ecx]
push edx
push 2
push eax
lea ecx, [esp + 0x84]
call dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_ofstream::open_char_const___int__int_]
push 8
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x47e923
lea ecx, [esp + 0x78]
mov dword [eax], 0
mov dword [eax + 4], ecx
mov dword [esp + 0x20], eax
jmp 0x47e92b
mov dword [esp + 0x20], 0
mov edx, dword [ebp + 0x34]
lea ecx, [esp + 0x3c]
push edx
call fcn.0046ea04
lea eax, [esp + 0x3c]
mov ecx, ebx
push eax
mov byte [esp + 0xe34], 2
call fcn.0044f040
mov eax, dword [ebx + 0xc0]
test eax, eax
je 0x47e962
lea ecx, [esp + 0x3c]
push ecx
mov ecx, ebx
call fcn.0044f1b0
mov edx, dword [ebx + 0xc0]
lea ecx, [esp + 0x3c]
push edx
call fcn.004705da
lea eax, [esp + 0xd0]
push esi
push eax
mov ecx, ebx
call fcn.00450040
mov ecx, dword [ebp + 0x20]
push eax
mov byte [esp + 0xe34], 3
call fcn.0044c4a0
lea ecx, [esp + 0xd0]
mov byte [esp + 0xe30], 2
call fcn.0044c440
lea ecx, [esp + 0xd0]
push esi
push ecx
mov ecx, ebx
call fcn.0044ff60
mov ecx, dword [ebp + 0x24]
push eax
mov byte [esp + 0xe34], 4
call fcn.0044c4a0
lea ecx, [esp + 0xd0]
mov byte [esp + 0xe30], 2
call fcn.0044c440
lea edx, [esp + 0xd0]
push esi
push edx
mov ecx, ebx
call fcn.00416a60
mov edi, dword [ebp + 0x1c]
push eax
mov ecx, edi
mov byte [esp + 0xe34], 5
call fcn.0044c4a0
lea ecx, [esp + 0xd0]
mov byte [esp + 0xe30], 2
call fcn.0044c440
cmp dword [ebx + 0x58], 1
jne 0x47ea2b
mov eax, dword [ebp + 0x38]
test eax, eax
jne 0x47ea2b
push 0
push edi
push esi
mov ecx, ebx
call fcn.00450960
fld qword [ebp + 0x2c]
fcomp qword [0x4db678]
fnstsw ax
test ah, 0x41
jne 0x47ea4a
fld qword [0x4db7f8]
fdiv qword [ebp + 0x2c]
fstp qword [0x5319e8]
mov ecx, dword [ebp + 0x28]
xor edi, edi
push edi
push edi
call fcn.0044ac70
fld qword [ebp + 0x2c]
fcomp qword [0x4db678]
fnstsw ax
test ah, 0x41
jne 0x47ea6b
mov edi, 2
mov eax, dword [ebx + 0x9c]
push edi
push eax
lea ecx, [esp + 0x5d8]
push 1
push ecx
mov ecx, ebx
call fcn.00417b60
mov ecx, dword [ebp + 0x28]
push eax
mov byte [esp + 0xe34], 6
call fcn.0044ac10
lea ecx, [esp + 0x5d0]
mov byte [esp + 0xe30], 2
call fcn.0044ab70
mov eax, dword [ebx + 0xa8]
mov dword [esp + 0x14], 0
test eax, eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 0
jle 0x47eeff
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp + 0x24]
mov esi, dword [ebp + 0x18]
push edx
mov ecx, esi
call fcn.0044c4a0
fld qword [ebp + 0x2c]
fcomp qword [0x4db678]
fnstsw ax
test ah, 0x41
jne 0x47eb3a
mov dword [0x531a1c], 1
mov eax, dword [ebx + 0x9c]
push eax
lea ecx, [esp + 0x40]
push 1
push ecx
mov ecx, ebx
call fcn.00450200
mov edx, dword [ebx + 0xc0]
mov ecx, dword [ebp + 0x3c]
mov eax, dword [ebp + 0x34]
push edx
mov edx, dword [ecx]
push eax
mov eax, dword [ebp + 0x1c]
push edx
push esi
push eax
lea ecx, [esp + 0x50]
call fcn.0046f416
mov dword [0x531a1c], 2
jmp 0x47eb77
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x47eb62
fld qword [ebp + 0x2c]
fcomp qword [0x4db678]
fnstsw ax
test ah, 0x40
je 0x47eb62
mov ecx, dword [ebx + 0x9c]
lea edx, [esp + 0x3c]
push ecx
push 0
push edx
jmp 0x47eb70
mov eax, dword [ebx + 0x9c]
lea ecx, [esp + 0x3c]
push eax
push 1
push ecx
mov ecx, ebx
call fcn.00450200
mov edx, dword [ebp + 0x20]
mov ecx, edi
push edx
call fcn.0044c4a0
mov esi, dword [ebp + 8]
push 0
push 0
mov ecx, esi
call fcn.0044c5a0
mov eax, dword [ebx + 0xc0]
mov ecx, dword [ebp + 0x3c]
push eax
push 0
mov edx, dword [ecx]
push 0
push edx
push esi
push edi
lea ecx, [esp + 0x54]
call fcn.0046ec1c
mov eax, dword [ebp + 0x18]
push esi
lea ecx, [esp + 0xd4]
push eax
push ecx
call fcn.0044c5c0
add esp, 0xc
mov esi, dword [ebp + 0x14]
push eax
mov ecx, esi
mov byte [esp + 0xe34], 7
call fcn.0044c4a0
lea ecx, [esp + 0xd0]
mov byte [esp + 0xe30], 2
call fcn.0044c440
push esi
mov ecx, edi
call fcn.0044c4a0
mov eax, dword [ebx + 0xc0]
test eax, eax
jne 0x47ec0c
mov edx, dword [ebp + 0x3c]
lea ecx, [esp + 0x3c]
mov eax, dword [edx]
push eax
push edi
call fcn.004702e9
jmp 0x47ec22
mov ecx, dword [ebp + 0x3c]
push eax
push 0
push 1
mov edx, dword [ecx]
lea ecx, [esp + 0x48]
push edx
push edi
push edi
call fcn.0046ec1c
mov eax, dword [ebp + 0x3c]
mov ecx, dword [ebp + 0x34]
mov eax, dword [eax]
cmp eax, ecx
jge 0x47ec55
mov ecx, dword [ebp + 0x20]
inc eax
mov edx, dword [ecx + 0x90]
mov ecx, dword [edi + 0x90]
mov esi, dword [edx + eax*8 - 8]
mov dword [ecx + eax*8 - 8], esi
mov edx, dword [edx + eax*8 - 4]
mov dword [ecx + eax*8 - 4], edx
mov ecx, dword [ebp + 0x34]
cmp eax, ecx
jl 0x47ec2e
cmp dword [esp + 0x10], 2
jle 0x47ed03
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x26c]
push eax
push 0x3feccccc
push 0xcccccccd
push ecx
call fcn.0044c9f0
mov esi, eax
push edi
push 0x3fb99999
lea edx, [esp + 0x31c]
push 0x99999998
push edx
mov byte [esp + 0xe50], 8
call fcn.0044c9f0
push esi
push eax
lea eax, [esp + 0x3c4]
mov byte [esp + 0xe58], 9
push eax
call fcn.0044c5c0
add esp, 0x2c
push eax
mov ecx, edi
mov byte [esp + 0xe34], 0xa
call fcn.0044c4a0
lea ecx, [esp + 0x39c]
mov byte [esp + 0xe30], 9
call fcn.0044c440
lea ecx, [esp + 0x304]
mov byte [esp + 0xe30], 8
call fcn.0044c440
lea ecx, [esp + 0x26c]
mov byte [esp + 0xe30], 2
call fcn.0044c440
mov ecx, dword [esp + 0x1c]
push 0
push edi
push ecx
mov ecx, ebx
call fcn.00450960
mov ecx, ebx
call fcn.00417830
mov esi, dword [ebp + 0xc]
push 0
push 0
mov ecx, esi
mov dword [0x531a18], eax
call fcn.0044c5a0
mov edx, dword [ebx + 0xa0]
push 0x3ff00000
push 0
push 2
push edx
push esi
mov ecx, ebx
call fcn.00450410
mov eax, dword [ebp + 8]
mov ecx, esi
push eax
call fcn.0044c4f0
mov ecx, dword [ebp + 0x3c]
fld qword [0x4db678]
mov ecx, dword [ecx]
fst qword [esp + 0x24]
test ecx, ecx
jle 0x47ed95
mov edx, dword [ebp + 0x14]
mov eax, dword [esi + 0x90]
mov esi, dword [edi + 0x90]
mov edx, dword [edx + 0x90]
sub edx, eax
sub esi, eax
fld qword [edx + eax]
fsub qword [eax]
add eax, 8
dec ecx
fmul qword [esi + eax - 8]
fabs
faddp st(1)
jne 0x47ed7b
fst qword [esp + 0x24]
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x47ee32
mov eax, dword [ebp + 0x14]
push esi
lea ecx, [esp + 0x438]
push eax
push ecx
fstp st(0)
call fcn.0044c6b0
add esp, 0xc
push eax
mov ecx, edi
mov byte [esp + 0xe34], 0xb
call fcn.0044c9a0
fstp qword [esp + 0x14]
lea ecx, [esp + 0x434]
mov byte [esp + 0xe30], 2
call fcn.0044c440
cmp dword [ebx + 0x10], 1
jle 0x47edf9
mov edx, dword [0x51e2e0]
mov eax, dword [0x51e2e4]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
fld qword [esp + 0x14]
fcomp qword [0x4dd510]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [0x51e2e0], ecx
mov dword [0x51e2e4], edx
fnstsw ax
test ah, 1
je 0x47ee2e
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0x3ff00000
fld qword [esp + 0x24]
fdiv qword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, ebx
fstp qword [ebx + 0xb8]
mov eax, dword [eax + 4]
push eax
call fcn.0047dcf0
mov eax, dword [0x531a18]
test eax, eax
jg 0x47ef59
mov edx, dword [esp + 0x10]
inc edx
push edx
push str.Iteration:__3d
push 3
call fcn.0047f4c0
mov eax, dword [ebx + 0xb4]
mov ecx, dword [ebx + 0xb0]
mov edx, dword [ebx + 0xbc]
add esp, 0xc
push eax
mov eax, dword [ebx + 0xb8]
push ecx
push edx
push eax
push str.Tolerance:__12.5lg
push 4
call fcn.0047f4c0
fld qword [ebx + 0xb8]
fcomp qword [ebx + 0xb0]
mov ecx, dword [esp + 0x28]
add esp, 0x18
mov dword [ebx + 0xac], ecx
fnstsw ax
test ah, 1
je 0x47eec4
mov edx, dword [ebx + 0xa8]
mov dword [esp + 0x10], edx
mov eax, dword [ebx + 0xa8]
mov ecx, dword [esp + 0x10]
dec eax
cmp ecx, eax
jl 0x47eedc
mov ecx, dword [ebp + 0x40]
mov dword [ecx], 0
push edi
mov ecx, esi
call fcn.0044c4a0
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xa8]
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x47ead2
mov esi, dword [esp + 0x1c]
fld qword [ebp + 0x2c]
fcomp qword [0x4db678]
mov ecx, 1
fnstsw ax
test ah, 0x41
jne 0x47ef19
mov ecx, 3
mov edx, dword [ebx + 0x9c]
push ecx
push edx
lea eax, [esp + 0x5d8]
push 1
push eax
mov ecx, ebx
call fcn.00417b60
mov ecx, dword [ebp + 0x28]
push eax
mov byte [esp + 0xe34], 0xc
call fcn.0044acb0
lea ecx, [esp + 0x5d0]
mov byte [esp + 0xe30], 2
call fcn.0044ab70
jmp 0x47ef5d
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x78]
call dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_ofstream::close_void_]
mov ecx, dword [esp + 0x20]
push ecx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov eax, dword [0x531a00]
mov edi, dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
test eax, eax
je 0x47ef93
push eax
call edi
add esp, 4
mov dword [0x531a00], 0
mov eax, dword [0x531a04]
test eax, eax
je 0x47efac
push eax
call edi
add esp, 4
mov dword [0x531a04], 0
push 0
lea ecx, [esp + 0x40]
call fcn.0046e798
push 1
lea ecx, [esp + 0x40]
call fcn.0046e798
lea ecx, [esp + 0x3c]
mov byte [esp + 0xe30], 1
call fcn.0046eade
lea ecx, [esp + 0x30]
mov byte [esp + 0xe30], 0
call fcn.0047d600
lea ecx, [esp + 0x80]
mov dword [esp + 0xe30], 0xffffffff
call dword [sym.imp.MSVCIRT.dll_public_virtual:_void___thiscall_ofstream::destructor_void_]
lea ecx, [esp + 0x80]
call dword [sym.imp.MSVCIRT.dll_public_virtual:_void___thiscall_ios::destructor_void_]
mov ecx, dword [esp + 0xe28]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x3c