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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x572785
mov eax, dword fs:[0]
push eax
sub esp, 0xe8
push ebx
push esi
push edi
mov eax, dword [0x59ad00]
xor eax, esp
push eax
lea eax, [esp + 0xf8]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x58], esi
xor edi, edi
mov dword [esp + 0x30], edi
push 8
mov dword [esp + 0x104], edi
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, edi
je 0x44d4e1
mov dword [esp + 0x30], eax
xor ecx, ecx
mov dword [eax], ecx
xor edx, edx
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x30]
mov dword [ecx], eax
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
push 0x44
mov dword [esp + 0x104], 1
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x60], eax
mov byte [esp + 0x100], 2
cmp eax, edi
je 0x44ce62
mov ecx, eax
call fcn.0044bae0
mov ecx, eax
mov dword [esp + 0x5c], ecx
jmp 0x44ce68
mov dword [esp + 0x5c], edi
mov ecx, edi
mov eax, dword [ebp + 0xc]
mov dword [ecx], eax
imul eax, eax, 0x68
mov edx, dword [esi + 0x28]
mov eax, dword [eax + edx]
mov ebx, dword [ebp + 8]
shl eax, 5
add eax, dword [esi + 4]
mov esi, dword [ebx + 0x20]
mov byte [esp + 0x100], 1
mov dword [esp + 0x60], ecx
fld qword [eax]
fld qword [eax + 8]
fld st(1)
fld qword [ebp + 0x10]
fsub st(1), st(0)
fxch st(1)
fsub qword [esi]
fdiv qword [ebx + 0x10]
call fcn.00551b80
fadd st(2), st(0)
fxch st(2)
mov edi, eax
mov dword [esp + 0x4c], edi
fst qword [esp + 0x64]
fld st(0)
fsub qword [esi]
fdiv qword [ebx + 0x10]
call fcn.00551b80
cmp edi, eax
jg 0x44d00e
fld st(1)
fsub st(3)
fstp qword [esp + 0x7c]
fxch st(1)
faddp st(2)
fxch st(1)
fst qword [esp + 0x8c]
mov esi, dword [ebx + 0x24]
fld qword [esp + 0x7c]
fsub qword [esi]
fdiv qword [ebx + 0x18]
call fcn.00551b80
fld st(0)
fsub qword [esi]
mov dword [esp + 0x54], eax
fdiv qword [ebx + 0x18]
call fcn.00551b80
cmp dword [esp + 0x54], eax
jg 0x44cfc0
fstp st(0)
lea ebx, [ebx]
mov eax, dword [esp + 0x40]
fstp st(0)
mov ecx, dword [esp + 0x3c]
lea edx, [eax + ecx]
test dl, 1
jne 0x44cf38
add eax, 2
shr eax, 1
cmp dword [esp + 0x38], eax
ja 0x44cf38
push 1
lea ecx, [esp + 0x34]
call fcn.00449830
mov edi, dword [esp + 0x40]
add edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov esi, edi
shr esi, 1
cmp eax, esi
ja 0x44cf4e
sub esi, eax
mov edx, dword [esp + 0x34]
cmp dword [edx + esi*4], 0
jne 0x44cf6d
push 0x10
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x44cfe0
mov ecx, dword [esp + 0x34]
mov dword [ecx + esi*4], eax
mov edx, dword [esp + 0x34]
mov eax, dword [edx + esi*4]
and edi, 1
lea eax, [eax + edi*8]
test eax, eax
je 0x44cf8b
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x54]
mov dword [eax], ecx
mov dword [eax + 4], edx
fld qword [esp + 0x8c]
mov eax, dword [ebx + 0x24]
inc dword [esp + 0x40]
fld st(0)
fsub qword [eax]
mov esi, dword [esp + 0x54]
inc esi
mov dword [esp + 0x54], esi
fdiv qword [ebx + 0x18]
call fcn.00551b80
cmp esi, eax
jle 0x44cf10
fld qword [esp + 0x64]
mov edi, dword [esp + 0x4c]
fxch st(1)
mov ecx, dword [ebx + 0x20]
fld st(1)
fsub qword [ecx]
inc edi
mov dword [esp + 0x4c], edi
fdiv qword [ebx + 0x10]
call fcn.00551b80
cmp edi, eax
jle 0x44cedd
fstp st(0)
jmp 0x44d012
lea edx, [esp + 0x48]
push edx
lea ecx, [esp + 0x74]
mov dword [esp + 0x4c], 0
call dword [sym.imp.MSVCR100.dll_public:_void___thiscall_std::exception::constructor_char_const__const_const__]
push 0x588a70
lea eax, [esp + 0x74]
push eax
mov dword [esp + 0x78], vtable.std::bad_alloc.0
call sub.MSVCR100.dll__CxxThrowException
fstp st(2)
fstp st(1)
cmp dword [esp + 0x40], 0
fstp st(0)
je 0x44d3ce
lea ecx, [esp + 0xb8]
push ecx
lea ecx, [esp + 0x34]
call fcn.00449810
mov ecx, dword [eax]
test ecx, ecx
jne 0x44d03a
xor edx, edx
jmp 0x44d03c
mov edx, dword [ecx]
mov ecx, dword [eax + 8]
mov esi, dword [edx + 8]
mov eax, ecx
shr eax, 1
and ecx, 1
cmp esi, eax
ja 0x44d04f
sub eax, esi
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4]
mov ebx, dword [eax + ecx*8 + 4]
lea eax, [eax + ecx*8]
mov ecx, dword [eax]
xor edx, edx
mov dword [esp + 0x4c], ecx
cmp dword [esp + 0x40], edx
je 0x44d08b
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
inc eax
add esi, esi
mov dword [esp + 0x3c], eax
cmp esi, eax
ja 0x44d081
mov dword [esp + 0x3c], edx
dec dword [esp + 0x40]
jne 0x44d08b
mov dword [esp + 0x3c], edx
mov edi, dword [ebp + 8]
mov eax, dword [edi]
mov ecx, dword [eax + ecx*4]
mov esi, ebx
imul esi, esi, 0x58
push edx
lea esi, [ecx + esi + 0x48]
lea edx, [esp + 0x64]
push edx
mov ecx, esi
call fcn.00449710
push eax
lea eax, [esp + 0x6c]
push eax
mov ecx, esi
call fcn.0044a610
cmp byte [esp + 0x68], 0
je 0x44d3c0
fld qword [ebp + 0x10]
mov ecx, dword [edi + 0x2c]
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x20]
mov esi, dword [esp + 0x4c]
sub esp, 0x20
fstp qword [esp + 0x18]
fld qword [ecx + ebx*8]
mov ecx, dword [ebp + 0xc]
fstp qword [esp + 0x10]
fld qword [edx + ebx*8]
fstp qword [esp + 8]
fld qword [eax + esi*8]
fstp qword [esp]
push ecx
mov ecx, dword [esp + 0x7c]
call fcn.00446fb0
test al, al
je 0x44d186
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
lea ecx, [eax + edx]
test cl, 1
jne 0x44d127
add eax, 2
shr eax, 1
cmp dword [esp + 0x38], eax
ja 0x44d127
push 1
lea ecx, [esp + 0x34]
call fcn.00449830
mov edi, dword [esp + 0x40]
add edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov esi, edi
shr esi, 1
cmp eax, esi
ja 0x44d13d
sub esi, eax
mov ecx, dword [esp + 0x34]
cmp dword [ecx + esi*4], 0
jne 0x44d160
push 0x10
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x44d40e
mov edx, dword [esp + 0x34]
mov dword [edx + esi*4], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + esi*4]
and edi, 1
lea eax, [ecx + edi*8]
test eax, eax
je 0x44d17b
mov ecx, dword [esp + 0x4c]
dec ecx
mov dword [eax], ecx
mov dword [eax + 4], ebx
inc dword [esp + 0x40]
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x4c]
fld qword [ebp + 0x10]
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x20]
sub esp, 0x20
fstp qword [esp + 0x18]
fld qword [edx + ebx*8]
mov edx, dword [ebp + 0xc]
fstp qword [esp + 0x10]
fld qword [eax + esi*8]
fstp qword [esp + 8]
fld qword [ecx + esi*8]
mov ecx, dword [esp + 0x78]
fstp qword [esp]
push edx
call fcn.00447200
test al, al
je 0x44d249
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
lea edx, [eax + ecx]
test dl, 1
jne 0x44d1e8
add eax, 2
shr eax, 1
cmp dword [esp + 0x38], eax
ja 0x44d1e8
push 1
lea ecx, [esp + 0x34]
call fcn.00449830
mov edi, dword [esp + 0x40]
add edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov esi, edi
shr esi, 1
cmp eax, esi
ja 0x44d1fe
sub esi, eax
mov edx, dword [esp + 0x34]
cmp dword [edx + esi*4], 0
jne 0x44d221
push 0x10
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x44d43c
mov ecx, dword [esp + 0x34]
mov dword [ecx + esi*4], eax
mov edx, dword [esp + 0x34]
mov eax, dword [edx + esi*4]
and edi, 1
lea eax, [eax + edi*8]
test eax, eax
je 0x44d23e
mov ecx, dword [esp + 0x4c]
mov dword [eax], ecx
lea ecx, [ebx - 1]
mov dword [eax + 4], ecx
inc dword [esp + 0x40]
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x4c]
fld qword [ebp + 0x10]
mov edx, dword [edi + 0x2c]
mov eax, dword [edi + 0x24]
mov ecx, dword [edi + 0x28]
sub esp, 0x20
fstp qword [esp + 0x18]
fld qword [edx + ebx*8]
mov edx, dword [ebp + 0xc]
fstp qword [esp + 0x10]
fld qword [eax + ebx*8]
fstp qword [esp + 8]
fld qword [ecx + esi*8]
mov ecx, dword [esp + 0x78]
fstp qword [esp]
push edx
call fcn.00446fb0
test al, al
je 0x44d30a
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
lea edx, [eax + ecx]
test dl, 1
jne 0x44d2ab
add eax, 2
shr eax, 1
cmp dword [esp + 0x38], eax
ja 0x44d2ab
push 1
lea ecx, [esp + 0x34]
call fcn.00449830
mov edi, dword [esp + 0x40]
add edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov esi, edi
shr esi, 1
cmp eax, esi
ja 0x44d2c1
sub esi, eax
mov edx, dword [esp + 0x34]
cmp dword [edx + esi*4], 0
jne 0x44d2e4
push 0x10
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x44d473
mov ecx, dword [esp + 0x34]
mov dword [ecx + esi*4], eax
mov edx, dword [esp + 0x34]
mov eax, dword [edx + esi*4]
and edi, 1
lea eax, [eax + edi*8]
test eax, eax
je 0x44d2ff
mov ecx, dword [esp + 0x4c]
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ebx
inc dword [esp + 0x40]
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x4c]
fld qword [ebp + 0x10]
mov ecx, dword [edi + 0x2c]
mov edx, dword [edi + 0x28]
mov eax, dword [edi + 0x20]
sub esp, 0x20
fstp qword [esp + 0x18]
fld qword [ecx + ebx*8]
mov ecx, dword [ebp + 0xc]
fstp qword [esp + 0x10]
fld qword [edx + esi*8]
fstp qword [esp + 8]
fld qword [eax + esi*8]
fstp qword [esp]
push ecx
mov ecx, dword [esp + 0x7c]
call fcn.00447200
test al, al
je 0x44d3c0
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
lea ecx, [eax + edx]
inc ebx
test cl, 1
jne 0x44d369
add eax, 2
shr eax, 1
cmp dword [esp + 0x38], eax
ja 0x44d369
push 1
lea ecx, [esp + 0x34]
call fcn.00449830
mov edi, dword [esp + 0x40]
add edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov esi, edi
shr esi, 1
cmp eax, esi
ja 0x44d37f
sub esi, eax
mov ecx, dword [esp + 0x34]
cmp dword [ecx + esi*4], 0
jne 0x44d3a2
push 0x10
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x44d4aa
mov edx, dword [esp + 0x34]
mov dword [edx + esi*4], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + esi*4]
and edi, 1
lea eax, [ecx + edi*8]
test eax, eax
je 0x44d3bc
mov edx, dword [esp + 0x4c]
mov dword [eax], edx
mov dword [eax + 4], ebx
inc dword [esp + 0x40]
cmp dword [esp + 0x40], 0
jne 0x44d01f
mov ebx, dword [ebp + 8]
lea edx, [ebp + 0xc]
push edx
lea ecx, [ebx + 0x50]
call fcn.0044b1a0
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
lea ecx, [esp + 0x30]
call fcn.0044a7d0
mov edx, dword [esp + 0x30]
push edx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x74]
mov dword [esp + 0x4c], 0
call dword [sym.imp.MSVCR100.dll_public:_void___thiscall_std::exception::constructor_char_const__const_const__]
push 0x588a70
lea ecx, [esp + 0x74]
push ecx
mov dword [esp + 0x78], vtable.std::bad_alloc.0
call sub.MSVCR100.dll__CxxThrowException
lea edx, [esp + 0x48]
push edx
lea ecx, [esp + 0x90]
mov dword [esp + 0x4c], 0
call dword [sym.imp.MSVCR100.dll_public:_void___thiscall_std::exception::constructor_char_const__const_const__]
push 0x588a70
lea eax, [esp + 0x90]
push eax
mov dword [esp + 0x94], vtable.std::bad_alloc.0
call sub.MSVCR100.dll__CxxThrowException
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0x4c], 0
call dword [sym.imp.MSVCR100.dll_public:_void___thiscall_std::exception::constructor_char_const__const_const__]
push 0x588a70
lea edx, [esp + 0x80]
push edx
mov dword [esp + 0x84], vtable.std::bad_alloc.0
call sub.MSVCR100.dll__CxxThrowException
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0xb0]
mov dword [esp + 0x4c], 0
call dword [sym.imp.MSVCR100.dll_public:_void___thiscall_std::exception::constructor_char_const__const_const__]
push 0x588a70
lea ecx, [esp + 0xb0]
push ecx
mov dword [esp + 0xb4], vtable.std::bad_alloc.0
call sub.MSVCR100.dll__CxxThrowException
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0xa4]
mov dword [esp + 0x70], edi
call dword [sym.imp.MSVCR100.dll_public:_void___thiscall_std::exception::constructor_char_const__const_const__]
push 0x588a70
lea ecx, [esp + 0xa4]
push ecx
mov dword [esp + 0xa8], vtable.std::bad_alloc.0
call sub.MSVCR100.dll__CxxThrowException
int3