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

Disassembly:
push 0xffffffffffffffff
push 0x571218
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
mov eax, dword [0x59ad00]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x59ad00]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
mov esi, dword [esp + 0x94]
mov ebx, ecx
mov ecx, dword [ebx + 0x1a8]
mov dword [esp + 0x18], ebx
test ecx, ecx
je 0x41453e
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
lea eax, [esp + 0x38]
push eax
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0x24]
push eax
push ecx
mov ecx, ebx
call fcn.00404ab0
mov ebp, dword [esp + 0x1c]
lea ecx, [esp + 0x5c]
push ecx
mov ecx, esi
mov dword [esp + 0x18], ebp
call fcn.00408100
jmp 0x4145d0
fld qword [0x57b620]
lea edx, [ebx + 0x1b0]
fcomp qword [edx]
fnstsw ax
test ah, 5
jp 0x41459f
mov ecx, dword [ebx + 0x1ac]
test ecx, ecx
js 0x414597
fld qword [0x57b968]
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x24]
push eax
sub esp, 8
fstp qword [esp]
push edx
push ecx
mov ecx, ebx
call fcn.0040c330
test al, al
jne 0x414525
or eax, 0xffffffff
jmp 0x414c2d
mov eax, dword [ebx + 0x1a4]
cmp eax, 1
je 0x4145c4
cmp eax, 3
je 0x4145c4
mov eax, dword [ebx + 0x70]
mov edx, dword [ebx + 0x74]
sub edx, eax
and edx, 0xfffffff8
cmp edx, 8
je 0x4145c4
mov ebp, dword [eax + 8]
jmp 0x4145c9
mov eax, dword [ebx + 0x70]
mov ebp, dword [eax]
mov dword [esp + 0x14], ebp
lea ecx, [ecx]
mov eax, dword [esi + 4]
mov edi, ebp
shl edi, 4
add edi, dword [ebx + 0x60]
cmp edi, eax
jae 0x414636
mov edx, dword [esi]
cmp edx, edi
ja 0x414636
mov ecx, dword [esi + 8]
sub edi, edx
cmp eax, ecx
jne 0x41462f
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
ja 0x4147e0
sub ecx, edx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x41462f
mov edx, ecx
shr edx, 1
mov ebx, 0xfffffff
sub ebx, edx
cmp ebx, ecx
jae 0x41461b
xor ecx, ecx
jmp 0x41461d
add ecx, edx
cmp ecx, eax
jae 0x414623
mov ecx, eax
push ecx
mov ecx, esi
call fcn.00407330
mov ebx, dword [esp + 0x18]
and edi, 0xfffffff0
add edi, dword [esi]
jmp 0x414680
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x414680
mov edx, dword [esi]
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
ja 0x4147e0
sub ecx, edx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x414680
mov edx, ecx
shr edx, 1
mov ebx, 0xfffffff
sub ebx, edx
cmp ebx, ecx
jae 0x41466c
xor ecx, ecx
jmp 0x41466e
add ecx, edx
cmp ecx, eax
jae 0x414674
mov ecx, eax
push ecx
mov ecx, esi
call fcn.00407330
mov ebx, dword [esp + 0x18]
mov eax, dword [esi + 4]
test eax, eax
je 0x41469d
mov ecx, dword [edi]
mov dword [eax], ecx
mov edx, dword [edi + 4]
mov dword [eax + 4], edx
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov edx, dword [edi + 0xc]
mov dword [eax + 0xc], edx
add dword [esi + 4], 0x10
mov eax, dword [ebx + 0x80]
mov ecx, dword [eax + ebp*4]
mov edx, dword [ebx + 0x70]
lea ecx, [edx + ecx*8]
mov edx, dword [ecx]
lea eax, [ebp - 1]
cmp eax, edx
jge 0x4146c0
mov eax, dword [ecx + 4]
lea eax, [eax + edx - 1]
mov ebp, eax
cmp eax, dword [esp + 0x14]
jne 0x4145d0
mov eax, dword [esi]
push eax
mov ecx, esi
call fcn.00408100
mov ecx, dword [ebx + 0x74]
sub ecx, dword [ebx + 0x70]
sar ecx, 3
cmp ecx, 2
jb 0x414c2b
mov ecx, ebx
call fcn.00407b60
mov edi, dword [ebx + 0x74]
sub edi, dword [ebx + 0x70]
lea edx, [esp + 0x1c]
sar edi, 3
xor ebp, ebp
lea eax, [edi + 0x1f]
push edx
shr eax, 5
push eax
lea ecx, [esp + 0x48]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
call fcn.00405cd0
mov dword [esp + 0x50], ebp
push edi
lea ecx, [esp + 0x44]
mov dword [esp + 0x8c], ebp
call fcn.00405a60
mov ecx, dword [ebx + 0x80]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx + edx*4]
push eax
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x48]
mov dword [esp + 0x90], 1
call fcn.00404e20
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov edi, 1
shl edi, cl
or dword [edx], edi
cmp dword [ebx + 0x1a4], 2
mov edi, dword [esp + 0x40]
jne 0x414788
xor ecx, ecx
and ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x38], edi
or dword [edi], edx
mov eax, dword [ebx + 0x74]
sub eax, dword [ebx + 0x70]
mov dword [esp + 0x24], 1
sar eax, 3
mov dword [esp + 0x1c], eax
cmp eax, 1
jle 0x414c1e
jmp 0x4147b0
mov ebp, dword [esp + 0x18]
cmp dword [ebp + 0x1a4], 2
jne 0x4147eb
mov eax, dword [esp + 0x1c]
dec eax
cmp dword [esp + 0x24], eax
jne 0x4147eb
xor ecx, ecx
and ecx, 0x1f
mov edx, 1
shl edx, cl
xor eax, eax
mov dword [esp + 0x54], edi
not edx
and dword [edi], edx
jmp 0x4147ed
push 0x57b720
call dword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const__]
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x20]
push eax
push ecx
mov ecx, ebp
mov byte [esp + 0x90], 2
call fcn.00403510
mov ebx, eax
test ebx, ebx
jns 0x414848
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x24]
push eax
push ecx
mov ecx, ebp
call fcn.004035a0
mov ebx, eax
test ebx, ebx
js 0x414c75
lea edx, [esp + 0x38]
push edx
lea ecx, [esp + 0x2c]
call fcn.0041af10
jmp 0x414863
lea eax, [esp + 0x28]
push eax
push ebx
mov ecx, ebp
call fcn.0040e710
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x2c]
je 0x414c51
cmp byte [esp + 0x90], 0
je 0x41493e
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x14]
je 0x41493e
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x80]
mov eax, dword [esp + 0x14]
mov edx, dword [edx + eax*4]
mov ecx, dword [ecx + 0x70]
lea ecx, [ecx + edx*8]
mov edx, dword [ecx]
dec eax
cmp eax, edx
jge 0x4148a4
mov eax, dword [ecx + 4]
lea eax, [eax + edx - 1]
mov ebp, eax
cmp eax, dword [esp + 0x20]
je 0x41493e
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 4]
mov edi, ebp
shl edi, 4
add edi, dword [ecx + 0x60]
cmp edi, eax
jae 0x4148e0
mov ecx, dword [esi]
cmp ecx, edi
ja 0x4148e0
sub edi, ecx
cmp eax, dword [esi + 8]
jne 0x4148d9
push 1
mov ecx, esi
call fcn.00407560
and edi, 0xfffffff0
add edi, dword [esi]
jmp 0x4148ee
cmp eax, dword [esi + 8]
jne 0x4148ee
push 1
mov ecx, esi
call fcn.00407560
mov eax, dword [esi + 4]
test eax, eax
je 0x41490b
mov edx, dword [edi]
mov dword [eax], edx
mov ecx, dword [edi + 4]
mov dword [eax + 4], ecx
mov edx, dword [edi + 8]
mov dword [eax + 8], edx
mov ecx, dword [edi + 0xc]
mov dword [eax + 0xc], ecx
add dword [esi + 4], 0x10
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x80]
mov ecx, dword [edx + ebp*4]
mov edx, dword [eax + 0x70]
lea ecx, [edx + ecx*8]
mov edx, dword [ecx]
lea eax, [ebp - 1]
cmp eax, edx
jge 0x414932
mov eax, dword [ecx + 4]
lea eax, [eax + edx - 1]
mov ebp, eax
cmp eax, dword [esp + 0x20]
jne 0x4148b0
mov edi, dword [esp + 0x18]
xor eax, eax
lea ecx, [esp + 0x5c]
push ecx
lea edx, [esp + 0x18]
push edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x34]
push ecx
push ebx
mov ecx, edi
call fcn.00407c50
test eax, eax
jne 0x414c60
cmp byte [esp + 0x90], al
je 0x414aaa
push esi
lea edx, [esp + 0x2c]
push edx
push ebx
mov ecx, edi
call fcn.004142d0
lea eax, [esp + 0x5c]
push eax
mov ecx, esi
call fcn.00408100
mov ebx, dword [esp + 0x14]
mov ebp, edi
mov eax, dword [esi + 4]
mov edi, ebx
shl edi, 4
add edi, dword [ebp + 0x60]
cmp edi, eax
jae 0x414a0b
mov edx, dword [esi]
cmp edx, edi
ja 0x414a0b
mov ecx, dword [esi + 8]
sub edi, edx
cmp eax, ecx
jne 0x414a04
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
ja 0x4147e0
sub ecx, edx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x414a04
mov edx, ecx
shr edx, 1
mov ebp, 0xfffffff
sub ebp, edx
cmp ebp, ecx
jae 0x4149f0
xor ecx, ecx
jmp 0x4149f2
add ecx, edx
cmp ecx, eax
jae 0x4149f8
mov ecx, eax
push ecx
mov ecx, esi
call fcn.00407330
mov ebp, dword [esp + 0x18]
and edi, 0xfffffff0
add edi, dword [esi]
jmp 0x414a55
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x414a55
mov edx, dword [esi]
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
ja 0x4147e0
sub ecx, edx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x414a55
mov edx, ecx
shr edx, 1
mov ebp, 0xfffffff
sub ebp, edx
cmp ebp, ecx
jae 0x414a41
xor ecx, ecx
jmp 0x414a43
add ecx, edx
cmp ecx, eax
jae 0x414a49
mov ecx, eax
push ecx
mov ecx, esi
call fcn.00407330
mov ebp, dword [esp + 0x18]
mov eax, dword [esi + 4]
test eax, eax
je 0x414a72
mov ecx, dword [edi]
mov dword [eax], ecx
mov edx, dword [edi + 4]
mov dword [eax + 4], edx
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov edx, dword [edi + 0xc]
mov dword [eax + 0xc], edx
add dword [esi + 4], 0x10
mov eax, dword [ebp + 0x80]
mov ecx, dword [eax + ebx*4]
mov edx, dword [ebp + 0x70]
lea ecx, [edx + ecx*8]
mov edx, dword [ecx]
lea eax, [ebx - 1]
cmp eax, edx
jge 0x414a95
mov eax, dword [ecx + 4]
lea eax, [eax + edx - 1]
mov ebx, eax
cmp eax, dword [esp + 0x14]
jne 0x4149a5
lea ecx, [esp + 0x5c]
jmp 0x414bd6
fld qword [0x57b8c8]
lea edx, [esp + 0x6c]
fst qword [esp + 0x6c]
push edx
mov ecx, esi
fstp qword [esp + 0x78]
call fcn.00408100
mov ebx, dword [esp + 0x14]
mov ebp, edi
lea ebx, [ebx]
mov eax, dword [esi + 4]
mov edi, ebx
shl edi, 4
add edi, dword [ebp + 0x60]
cmp edi, eax
jae 0x414b36
mov edx, dword [esi]
cmp edx, edi
ja 0x414b36
mov ecx, dword [esi + 8]
sub edi, edx
cmp eax, ecx
jne 0x414b2f
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
ja 0x4147e0
sub ecx, edx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x414b2f
mov edx, ecx
shr edx, 1
mov ebp, 0xfffffff
sub ebp, edx
cmp ebp, ecx
jae 0x414b1b
xor ecx, ecx
jmp 0x414b1d
add ecx, edx
cmp ecx, eax
jae 0x414b23
mov ecx, eax
push ecx
mov ecx, esi
call fcn.00407330
mov ebp, dword [esp + 0x18]
and edi, 0xfffffff0
add edi, dword [esi]
jmp 0x414b80
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x414b80
mov edx, dword [esi]
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
ja 0x4147e0
sub ecx, edx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x414b80
mov edx, ecx
shr edx, 1
mov ebp, 0xfffffff
sub ebp, edx
cmp ebp, ecx
jae 0x414b6c
xor ecx, ecx
jmp 0x414b6e
add ecx, edx
cmp ecx, eax
jae 0x414b74
mov ecx, eax
push ecx
mov ecx, esi
call fcn.00407330
mov ebp, dword [esp + 0x18]
mov eax, dword [esi + 4]
test eax, eax
je 0x414b9d
mov ecx, dword [edi]
mov dword [eax], ecx
mov edx, dword [edi + 4]
mov dword [eax + 4], edx
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov edx, dword [edi + 0xc]
mov dword [eax + 0xc], edx
add dword [esi + 4], 0x10
mov eax, dword [ebp + 0x80]
mov ecx, dword [eax + ebx*4]
mov edx, dword [ebp + 0x70]
lea ecx, [edx + ecx*8]
mov edx, dword [ecx]
lea eax, [ebx - 1]
cmp eax, edx
jge 0x414bc0
mov eax, dword [ecx + 4]
lea eax, [eax + edx - 1]
mov ebx, eax
cmp eax, dword [esp + 0x14]
jne 0x414ad0
mov ecx, dword [esp + 0x14]
shl ecx, 4
add ecx, dword [ebp + 0x60]
push ecx
mov ecx, esi
call fcn.00408100
mov eax, dword [esp + 0x28]
xor edi, edi
mov byte [esp + 0x88], 1
cmp eax, edi
je 0x414bf9
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x1c]
jl 0x4147b0
xor ebp, ebp
cmp edi, ebp
je 0x414c2b
push edi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.00551a8e
add esp, 0x78
ret 8
test eax, eax
je 0x414c75
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
jmp 0x414c75
mov eax, dword [esp + 0x28]
test eax, eax
je 0x414c71
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edi, dword [esp + 0x40]
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, edx
je 0x414ca7
mov eax, edx
cmp edx, edx
je 0x414ca4
mov ebx, dword [eax]
mov dword [ecx], ebx
mov ebx, dword [eax + 4]
mov dword [ecx + 4], ebx
mov ebx, dword [eax + 8]
mov dword [ecx + 8], ebx
mov ebx, dword [eax + 0xc]
mov dword [ecx + 0xc], ebx
add eax, 0x10
add ecx, 0x10
cmp eax, edx
jne 0x414c84
mov dword [esi + 4], ecx
test edi, edi
je 0x414cb4
push edi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
or eax, 0xffffffff
jmp 0x414c2d