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

Disassembly:
sub esp, 0x38
push ebx
xor edx, edx
mov eax, 4
push ebp
mov ecx, 2
push edi
mov dword [esp + 0x2c], eax
mov edi, 1
mov ebx, 8
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov eax, esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edi
mov dword [esi + 0x78], edx
call fcn.00415990
cmp byte [esi + 0x123], 0
je 0x41f9b8
test byte [esi + 0x70], 2
jne 0x41f961
mov eax, dword [esi + 0xcc]
add eax, 7
shr eax, 3
mov dword [esi + 0xd0], eax
jmp 0x41f96d
mov ecx, dword [esi + 0xcc]
mov dword [esi + 0xd0], ecx
movzx eax, byte [esi + 0x124]
mov ebp, dword [esi + 0xc8]
add eax, eax
add eax, eax
mov ecx, dword [esp + eax + 0xc]
mov edx, ebp
sub edx, dword [esp + eax + 0x28]
lea eax, [edx + ecx - 1]
xor edx, edx
div ecx
mov cl, byte [esi + 0x129]
cmp cl, bl
movzx ecx, cl
mov dword [esi + 0xe0], eax
jb 0x41f9ac
shr ecx, 3
imul ecx, eax
inc ecx
jmp 0x41f9d8
imul ecx, eax
add ecx, 7
shr ecx, 3
inc ecx
jmp 0x41f9d8
mov eax, dword [esi + 0xcc]
mov ebp, dword [esi + 0xc8]
mov ecx, dword [esi + 0xd8]
mov dword [esi + 0xd0], eax
mov dword [esi + 0xe0], ebp
add ecx, edi
mov ebx, dword [esi + 0x70]
movzx eax, byte [esi + 0x129]
mov dword [esi + 0xdc], ecx
test bl, 4
je 0x41f9fb
cmp byte [esi + 0x127], 8
jae 0x41f9fb
mov eax, 8
mov edi, ebx
and edi, 0x1000
je 0x41fa65
mov cl, byte [esi + 0x126]
cmp cl, 3
jne 0x41fa25
xor eax, eax
cmp word [esi + 0x11a], ax
setne al
lea eax, [eax*8 + 0x18]
jmp 0x41fa65
test cl, cl
jne 0x41fa41
cmp eax, 8
jge 0x41fa33
mov eax, 8
cmp word [esi + 0x11a], 0
je 0x41fa65
add eax, eax
jmp 0x41fa65
cmp cl, 2
jne 0x41fa65
cmp word [esi + 0x11a], 0
je 0x41fa65
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 0x41faac
mov cl, byte [esi + 0x126]
cmp cl, 3
jne 0x41fa81
mov eax, 0x20
jmp 0x41faac
test cl, cl
jne 0x41fa96
xor ecx, ecx
cmp eax, 8
setg cl
dec ecx
and ecx, 0xfffffff0
add ecx, 0x20
jmp 0x41faaa
cmp cl, 2
jne 0x41faac
xor ecx, ecx
cmp eax, 0x20
setg cl
dec ecx
and ecx, 0xffffffe0
add ecx, 0x40
mov eax, ecx
test ebx, 0x4000
je 0x41fb09
cmp word [esi + 0x11a], 0
je 0x41fac2
test edi, edi
jne 0x41faf8
test edx, edx
jne 0x41faf8
mov cl, byte [esi + 0x126]
cmp cl, 4
je 0x41faf8
cmp eax, 8
jg 0x41fae7
xor eax, eax
cmp cl, 6
sete al
lea eax, [eax*8 + 0x18]
jmp 0x41fb09
xor eax, eax
cmp cl, 6
setne al
dec eax
and eax, 0x10
add eax, 0x30
jmp 0x41fb09
xor edx, edx
cmp eax, 0x10
setg dl
dec edx
and edx, 0xffffffe0
add edx, 0x40
mov eax, edx
test ebx, 0x100000
je 0x41fb22
movzx ecx, byte [esi + 0x65]
movzx edx, byte [esi + 0x64]
imul ecx, edx
cmp ecx, eax
jle 0x41fb22
mov eax, ecx
lea ecx, [ebp + 7]
and ecx, 0xfffffff8
cmp eax, 8
jl 0x41fb37
mov edx, eax
shr edx, 3
imul edx, ecx
jmp 0x41fb42
imul ecx, eax
add ecx, 7
shr ecx, 3
mov edx, ecx
add eax, 7
sar eax, 3
lea ebx, [eax + edx + 1]
lea edi, [ebx + 0x40]
cmp edi, dword [esi + 0x280]
jbe 0x41fbf2
mov ecx, dword [esi + 0x250]
test ecx, ecx
je 0x41fb80
mov eax, dword [esi + 0x24c]
push ecx
test eax, eax
je 0x41fb78
push esi
call eax
add esp, 8
jmp 0x41fb80
call fcn.004ec858
add esp, 4
test edi, edi
je 0x41fbc0
mov eax, dword [esi + 0x248]
push edi
test eax, eax
je 0x41fb97
push esi
call eax
add esp, 8
jmp 0x41fb9f
call fcn.004ec78e
add esp, 4
mov ebp, eax
test ebp, ebp
jne 0x41fbbc
test dword [esi + 0x6c], 0x100000
jne 0x41fbbc
push esi
mov ecx, str.Out_of_Memory_
call fcn.0041ff30
add esp, 4
mov eax, ebp
jmp 0x41fbc2
xor eax, eax
cmp byte [esi + 0x123], 0
mov dword [esi + 0x250], eax
je 0x41fbdd
push edi
push 0
push eax
call fcn.004ed5e0
add esp, 0xc
mov eax, dword [esi + 0x250]
add eax, 0x20
mov dword [esi + 0xec], eax
mov dword [esi + 0x280], edi
cmp ebx, 0xfffffffe
jbe 0x41fc05
push esi
mov ecx, str.Row_has_too_many_bytes_to_allocate_in_memory.
call fcn.0041ff30
add esp, 4
lea edi, [ebx + 1]
cmp edi, dword [esi + 0x284]
jbe 0x41fc8f
mov ecx, dword [esi + 0xe8]
test ecx, ecx
je 0x41fc35
mov eax, dword [esi + 0x24c]
push ecx
test eax, eax
je 0x41fc2d
push esi
call eax
add esp, 8
jmp 0x41fc35
call fcn.004ec858
add esp, 4
test edi, edi
je 0x41fc75
mov eax, dword [esi + 0x248]
push edi
test eax, eax
je 0x41fc4c
push esi
call eax
add esp, 8
jmp 0x41fc54
call fcn.004ec78e
add esp, 4
mov ebp, eax
test ebp, ebp
jne 0x41fc71
test dword [esi + 0x6c], 0x100000
jne 0x41fc71
push esi
mov ecx, str.Out_of_Memory_
call fcn.0041ff30
add esp, 4
mov eax, ebp
jmp 0x41fc77
xor eax, eax
push edi
push 0
push eax
mov dword [esi + 0xe8], eax
call fcn.004ed5e0
add esp, 0xc
mov dword [esi + 0x284], edi
or dword [esi + 0x6c], 0x40
pop edi
pop ebp
mov dword [esi + 0xd8], ebx
pop ebx
add esp, 0x38
ret