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

Disassembly:
sub esp, 0x38
push ebx
push ebp
push esi
mov esi, dword [esp + 0x48]
mov ecx, 4
mov edx, 2
push edi
xor edi, edi
mov eax, 1
mov ebp, 8
push esi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
mov dword [esi + 0x78], edi
call fcn.0044a5c0
mov al, byte [esi + 0x123]
add esp, 4
test al, al
je 0x44fe5e
test byte [esi + 0x70], 2
jne 0x44fe09
mov eax, dword [esi + 0xcc]
add eax, 7
shr eax, 3
mov dword [esi + 0xd0], eax
jmp 0x44fe15
mov ecx, dword [esi + 0xcc]
mov dword [esi + 0xd0], ecx
movzx eax, byte [esi + 0x124]
mov edx, dword [esi + 0xc8]
shl eax, 2
mov ebx, dword [esp + eax + 0x2c]
mov ecx, dword [esp + eax + 0x10]
sub edx, ebx
lea eax, [edx + ecx - 1]
xor edx, edx
div ecx
mov cl, byte [esi + 0x129]
cmp cl, 8
movzx ecx, cl
mov dword [esi + 0xe0], eax
jb 0x44fe53
shr ecx, 3
imul ecx, eax
jmp 0x44fe7c
imul ecx, eax
add ecx, 7
shr ecx, 3
jmp 0x44fe7c
mov eax, dword [esi + 0xcc]
mov ecx, dword [esi + 0xd8]
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0xc8]
mov dword [esi + 0xe0], eax
mov ebx, dword [esi + 0x70]
movzx eax, byte [esi + 0x129]
inc ecx
test bl, 4
mov dword [esi + 0xdc], ecx
je 0x44fe9d
cmp byte [esi + 0x127], 8
jae 0x44fe9d
mov eax, ebp
mov ebp, ebx
and ebp, 0x1000
je 0x44ff05
mov cl, byte [esi + 0x126]
cmp cl, 3
jne 0x44fec7
xor eax, eax
cmp word [esi + 0x11a], di
setne al
lea eax, [eax*8 + 0x18]
jmp 0x44ff05
test cl, cl
jne 0x44fee2
cmp eax, 8
jge 0x44fed5
mov eax, 8
cmp word [esi + 0x11a], di
je 0x44ff05
add eax, eax
jmp 0x44ff05
cmp cl, 2
jne 0x44ff05
cmp word [esi + 0x11a], di
je 0x44ff05
lea ecx, [eax*4]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ebx
and edx, 0x8000
je 0x44ff4c
mov cl, byte [esi + 0x126]
cmp cl, 3
jne 0x44ff21
mov eax, 0x20
jmp 0x44ff4c
test cl, cl
jne 0x44ff36
xor ecx, ecx
cmp eax, 8
setg cl
dec ecx
and ecx, 0xfffffff0
add ecx, 0x20
jmp 0x44ff4a
cmp cl, 2
jne 0x44ff4c
xor ecx, ecx
cmp eax, 0x20
setg cl
dec ecx
and ecx, 0xffffffe0
add ecx, 0x40
mov eax, ecx
test bh, 0x40
je 0x44ffa5
cmp word [esi + 0x11a], di
je 0x44ff5e
cmp ebp, edi
jne 0x44ff94
cmp edx, edi
jne 0x44ff94
mov cl, byte [esi + 0x126]
cmp cl, 4
je 0x44ff94
cmp eax, 8
jg 0x44ff83
xor eax, eax
cmp cl, 6
sete al
lea eax, [eax*8 + 0x18]
jmp 0x44ffa5
xor eax, eax
cmp cl, 6
setne al
dec eax
and eax, 0x10
add eax, 0x30
jmp 0x44ffa5
xor edx, edx
cmp eax, 0x10
setg dl
dec edx
and edx, 0xffffffe0
add edx, 0x40
mov eax, edx
test ebx, 0x100000
je 0x44ffbe
movzx ecx, byte [esi + 0x65]
movzx edx, byte [esi + 0x64]
imul ecx, edx
cmp ecx, eax
jle 0x44ffbe
mov eax, ecx
mov ecx, dword [esi + 0xc8]
add ecx, 7
and ecx, 0xfffffff8
cmp eax, 8
jl 0x44ffd9
mov edx, eax
shr edx, 3
imul edx, ecx
jmp 0x44ffe4
imul ecx, eax
add ecx, 7
shr ecx, 3
mov edx, ecx
add eax, 7
sar eax, 3
lea ebx, [eax + edx + 1]
mov eax, dword [esi + 0x280]
lea ebp, [ebx + 0x40]
cmp ebp, eax
jbe 0x45004b
mov eax, dword [esi + 0x250]
push eax
push esi
call fcn.0044e8e0
push ebp
push esi
call fcn.0044e880
mov edi, eax
mov al, byte [esi + 0x123]
add esp, 0x10
test al, al
mov dword [esi + 0x250], edi
je 0x450036
mov ecx, ebp
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esi + 0x250]
add eax, 0x20
mov dword [esi + 0xec], eax
mov dword [esi + 0x280], ebp
cmp ebx, 0xfffffffe
jbe 0x45005e
push str.Row_has_too_many_bytes_to_allocate_in_memory.
push esi
call fcn.0044ed10
add esp, 8
mov eax, dword [esi + 0x284]
lea edi, [ebx + 1]
cmp edi, eax
jbe 0x450098
mov ecx, dword [esi + 0xe8]
push ecx
push esi
call fcn.0044e8e0
push edi
push esi
call fcn.0044e880
push edi
push 0
push eax
push esi
mov dword [esi + 0xe8], eax
call fcn.0044e810
add esp, 0x20
mov dword [esi + 0x284], edi
mov eax, dword [esi + 0x6c]
pop edi
or eax, 0x40
mov dword [esi + 0xd8], ebx
mov dword [esi + 0x6c], eax
pop esi
pop ebp
pop ebx
add esp, 0x38
ret