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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xbc
mov eax, dword [0x4970c0]
xor eax, esp
mov dword [esp + 0xb8], eax
push ebx
push esi
push edi
mov edi, ecx
cmp byte [edi], 0
mov ebx, edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], ebx
jne 0x44c48e
mov eax, dword [ebx]
xor esi, esi
cmp dword [eax + 0x14], esi
je 0x44c48e
xor ecx, ecx
push 4
mov eax, 0x1000
pop edx
mov dword [edi + 0x14], eax
mul edx
seto cl
mov dword [esp + 0x10], esi
neg ecx
or ecx, eax
push ecx
call fcn.00485975
mov ecx, dword [edi + 0x14]
shl ecx, 2
push ecx
push esi
push eax
mov dword [edi + 0xc], eax
call sub.msvcrt.dll_memset
push 0x48
pop eax
push eax
lea eax, [esp + 0x8c]
push esi
push eax
call sub.msvcrt.dll_memset
add esp, 0x1c
lea ecx, [esp + 0x78]
call fcn.0044dc39
test al, al
je 0x44c340
movzx edx, word [esp + 0x78]
mov ebx, edx
sar ebx, 4
test ebx, ebx
js 0x44c3ee
mov eax, dword [edi + 0x14]
dec eax
cmp eax, ebx
jl 0x44c3ee
mov ecx, ebx
test ecx, ecx
jns 0x44c309
mov ebx, esi
jmp 0x44c30f
cmp eax, ebx
jge 0x44c30f
mov ebx, eax
mov esi, dword [edi + 0xc]
mov eax, dword [esi + ebx*4]
and edx, 0xf
push 0x1f
pop ecx
sub ecx, edx
xor edx, edx
inc edx
shl edx, cl
inc eax
lea ecx, [esp + 0x78]
or edx, eax
inc dword [esp + 0x10]
mov dword [esi + ebx*4], edx
mov ebx, dword [esp + 0x14]
call fcn.0044dc39
push 0
pop esi
test al, al
jne 0x44c2e1
mov dword [esp + 0x18], esi
mov ebx, esi
cmp dword [edi + 0x14], esi
jle 0x44c36e
mov edx, dword [edi + 0xc]
mov eax, dword [edx + ebx*4]
mov ecx, dword [edx + ebx*4]
and eax, 0xffff0000
or eax, esi
and ecx, 0xffff
mov dword [edx + ebx*4], eax
add esi, ecx
inc ebx
cmp ebx, dword [edi + 0x14]
jl 0x44c34b
xor esi, esi
mov ebx, dword [esp + 0x10]
lea eax, [edi + 4]
mov dword [esp + 0x18], eax
xor ecx, ecx
push 0x48
pop edx
mov eax, ebx
mul edx
seto cl
mov dword [edi + 0x10], ebx
neg ecx
or ecx, eax
push ecx
call fcn.00485975
mov dword [edi + 4], eax
xor ecx, ecx
push 4
pop edx
mov eax, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00485975
mov dword [edi + 8], eax
mov eax, ebx
imul eax, eax, 0x48
push eax
push esi
push dword [edi + 4]
call sub.msvcrt.dll_memset
mov eax, ebx
shl eax, 2
push eax
push esi
push dword [edi + 8]
call sub.msvcrt.dll_memset
push 0x48
pop eax
push eax
lea eax, [esp + 0x9c]
push esi
push eax
mov dword [esp + 0x3c], esi
call sub.msvcrt.dll_memset
mov ebx, dword [esp + 0x40]
add esp, 0x2c
jmp 0x44c47e
push dword [ebp + 4]
mov ecx, 0x216
lea esi, [esp + 0x50]
call fcn.00449789
push 0x48daf8
mov eax, esi
push eax
call sub.msvcrt.dll__CxxThrowException
add esi, dword [esp + 0x10]
mov edx, dword [esp + 0x78]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x14], esi
call fcn.0044c210
mov edx, eax
test edx, edx
js 0x44c4a3
cmp edx, dword [edi + 0x10]
jge 0x44c4a3
mov eax, dword [esp + 0x18]
mov edi, edx
imul edi, edi, 0x48
add edi, dword [eax]
push 0x12
pop ecx
lea esi, [esp + 0x78]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x1c]
mov cx, word [esp + 0x7a]
mov eax, dword [edi + 8]
mov esi, dword [esp + 0x14]
mov dword [eax + edx*4], esi
test cl, 4
je 0x44c460
mov eax, dword [esp + 0x80]
jmp 0x44c470
lea eax, [esp + 0x78]
push eax
push ebx
call fcn.0044dcd0
mov cx, word [esp + 0x7a]
mov dword [esp + 0x10], eax
test cl, 1
je 0x44c47e
inc eax
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x78]
call fcn.0044dc39
test al, al
jne 0x44c40c
mov byte [edi], 1
mov ecx, dword [esp + 0xc4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00484deb
mov esp, ebp
pop ebp
ret
push dword [ebp + 4]
mov ecx, 0x8000ffff
lea esi, [esp + 0x24]
call fcn.00449789
push 0x48daf8
mov eax, esi
jmp 0x44c406