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

Disassembly:
sub esp, 0x38
push ebx
push ebp
xor edx, edx
push esi
mov esi, eax
mov eax, 4
mov ecx, 2
push edi
mov ebx, 1
mov edi, 8
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edx
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ebx
mov dword [esi + 0x78], edx
call fcn.00408950
cmp byte [esi + 0x123], 0
je 0x4119ca
test byte [esi + 0x70], 2
jne 0x411972
mov eax, dword [esi + 0xcc]
add eax, 7
shr eax, 3
mov dword [esi + 0xd0], eax
jmp 0x41197e
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 + 0x10]
mov edx, ebp
sub edx, dword [esp + eax + 0x2c]
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 0x4119be
shr ecx, 3
imul ecx, eax
inc ecx
jmp 0x4119ea
imul ecx, eax
add ecx, 7
shr ecx, 3
inc ecx
jmp 0x4119ea
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, ebx
mov ebx, dword [esi + 0x70]
movzx eax, byte [esi + 0x129]
mov dword [esi + 0xdc], ecx
test bl, 4
je 0x411a0a
cmp byte [esi + 0x127], 8
jae 0x411a0a
mov eax, edi
mov edi, ebx
and edi, 0x1000
je 0x411a74
mov cl, byte [esi + 0x126]
cmp cl, 3
jne 0x411a34
xor eax, eax
cmp word [esi + 0x11a], ax
setne al
lea eax, [eax*8 + 0x18]
jmp 0x411a74
test cl, cl
jne 0x411a50
cmp eax, 8
jge 0x411a42
mov eax, 8
cmp word [esi + 0x11a], 0
je 0x411a74
add eax, eax
jmp 0x411a74
cmp cl, 2
jne 0x411a74
cmp word [esi + 0x11a], 0
je 0x411a74
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 0x411abb
mov cl, byte [esi + 0x126]
cmp cl, 3
jne 0x411a90
mov eax, 0x20
jmp 0x411abb
test cl, cl
jne 0x411aa5
xor ecx, ecx
cmp eax, 8
setg cl
dec ecx
and ecx, 0xfffffff0
add ecx, 0x20
jmp 0x411ab9
cmp cl, 2
jne 0x411abb
xor ecx, ecx
cmp eax, 0x20
setg cl
dec ecx
and ecx, 0xffffffe0
add ecx, 0x40
mov eax, ecx
test ebx, 0x4000
je 0x411b18
cmp word [esi + 0x11a], 0
je 0x411ad1
test edi, edi
jne 0x411b07
test edx, edx
jne 0x411b07
mov cl, byte [esi + 0x126]
cmp cl, 4
je 0x411b07
cmp eax, 8
jg 0x411af6
xor eax, eax
cmp cl, 6
sete al
lea eax, [eax*8 + 0x18]
jmp 0x411b18
xor eax, eax
cmp cl, 6
setne al
dec eax
and eax, 0x10
add eax, 0x30
jmp 0x411b18
xor edx, edx
cmp eax, 0x10
setg dl
dec edx
and edx, 0xffffffe0
add edx, 0x40
mov eax, edx
test ebx, 0x100000
je 0x411b31
movzx ecx, byte [esi + 0x65]
movzx edx, byte [esi + 0x64]
imul ecx, edx
cmp ecx, eax
jle 0x411b31
mov eax, ecx
lea ecx, [ebp + 7]
and ecx, 0xfffffff8
cmp eax, 8
jl 0x411b46
mov edx, eax
shr edx, 3
imul edx, ecx
jmp 0x411b51
imul ecx, eax
add ecx, 7
shr ecx, 3
mov edx, ecx
add eax, 7
sar eax, 3
lea eax, [eax + edx + 1]
lea edi, [eax + 0x40]
cmp edi, dword [esi + 0x280]
jbe 0x411ba7
mov ecx, dword [esi + 0x250]
test ecx, ecx
je 0x411b8b
mov eax, dword [esi + 0x24c]
push ecx
test eax, eax
je 0x411b83
push esi
call eax
add esp, 8
jmp 0x411b8b
call fcn.0041417f
add esp, 4
mov ecx, edi
call fcn.00411d40
mov dword [esi + 0x250], eax
add eax, 0x20
mov dword [esi + 0xec], eax
mov dword [esi + 0x280], edi
cmp dword [esi + 0xd8], 0xfffffffe
jbe 0x411bbe
push esi
mov ecx, str.Row_has_too_many_bytes_to_allocate_in_memory.
call fcn.0040d330
add esp, 4
mov eax, dword [esi + 0xd8]
inc eax
cmp eax, dword [esi + 0x284]
jbe 0x411c11
mov ecx, dword [esi + 0xe8]
test ecx, ecx
je 0x411bf2
mov eax, dword [esi + 0x24c]
push ecx
test eax, eax
je 0x411bea
push esi
call eax
add esp, 8
jmp 0x411bf2
call fcn.0041417f
add esp, 4
mov ecx, dword [esi + 0xd8]
inc ecx
call fcn.00411d40
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xd8]
inc eax
mov dword [esi + 0x284], eax
mov ecx, dword [esi + 0xe8]
push eax
push 0
push ecx
call fcn.00416fa0
add esp, 0xc
or dword [esi + 0x6c], 0x40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret