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

Disassembly:
sub esp, 0x38
push ebx
xor edx, edx
mov eax, 2
push ebp
mov ecx, 4
push edi
mov dword [esp + 0x34], eax
mov ebx, 1
mov edi, 8
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov eax, esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], ebx
mov dword [esi + 0x78], edx
call fcn.0040de20
cmp byte [esi + 0x123], 0
je 0x40db8d
test byte [esi + 0x70], 2
jne 0x40db25
mov eax, dword [esi + 0xcc]
add eax, 7
shr eax, 3
mov dword [esi + 0xd0], eax
jmp 0x40db31
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, 8
movzx ecx, cl
mov dword [esi + 0xe0], eax
jb 0x40db79
shr ecx, 3
imul ecx, eax
lea eax, [ecx + 1]
mov dword [esi + 0xdc], eax
jmp 0x40dbb3
imul ecx, eax
add ecx, 7
shr ecx, 3
lea eax, [ecx + 1]
mov dword [esi + 0xdc], eax
jmp 0x40dbb3
mov ecx, dword [esi + 0xd8]
mov eax, dword [esi + 0xcc]
mov ebp, dword [esi + 0xc8]
add ecx, ebx
mov dword [esi + 0xd0], eax
mov dword [esi + 0xe0], ebp
mov dword [esi + 0xdc], ecx
mov ebx, dword [esi + 0x70]
movzx eax, byte [esi + 0x129]
test bl, 4
je 0x40dbcd
cmp byte [esi + 0x127], 8
jae 0x40dbcd
mov eax, edi
mov edi, ebx
and edi, 0x1000
je 0x40dc37
mov cl, byte [esi + 0x126]
cmp cl, 3
jne 0x40dbf7
xor eax, eax
cmp word [esi + 0x11a], ax
setne al
lea eax, [eax*8 + 0x18]
jmp 0x40dc37
test cl, cl
jne 0x40dc13
cmp eax, 8
jge 0x40dc05
mov eax, 8
cmp word [esi + 0x11a], 0
je 0x40dc37
add eax, eax
jmp 0x40dc37
cmp cl, 2
jne 0x40dc37
cmp word [esi + 0x11a], 0
je 0x40dc37
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 0x40dc7e
mov cl, byte [esi + 0x126]
cmp cl, 3
jne 0x40dc53
mov eax, 0x20
jmp 0x40dc7e
test cl, cl
jne 0x40dc68
xor ecx, ecx
cmp eax, 8
setg cl
dec ecx
and ecx, 0xfffffff0
add ecx, 0x20
jmp 0x40dc7c
cmp cl, 2
jne 0x40dc7e
xor ecx, ecx
cmp eax, 0x20
setg cl
dec ecx
and ecx, 0xffffffe0
add ecx, 0x40
mov eax, ecx
test ebx, 0x4000
je 0x40dcdb
cmp word [esi + 0x11a], 0
je 0x40dc94
test edi, edi
jne 0x40dcca
test edx, edx
jne 0x40dcca
mov cl, byte [esi + 0x126]
cmp cl, 4
je 0x40dcca
cmp eax, 8
jg 0x40dcb9
xor eax, eax
cmp cl, 6
sete al
lea eax, [eax*8 + 0x18]
jmp 0x40dcdb
xor eax, eax
cmp cl, 6
setne al
dec eax
and eax, 0x10
add eax, 0x30
jmp 0x40dcdb
xor edx, edx
cmp eax, 0x10
setg dl
dec edx
and edx, 0xffffffe0
add edx, 0x40
mov eax, edx
test ebx, 0x100000
je 0x40dcf4
movzx ecx, byte [esi + 0x65]
movzx edx, byte [esi + 0x64]
imul ecx, edx
cmp ecx, eax
jle 0x40dcf4
mov eax, ecx
lea edx, [ebp + 7]
and edx, 0xfffffff8
cmp eax, 8
mov ecx, eax
jl 0x40dd09
shr ecx, 3
imul ecx, edx
jmp 0x40dd12
imul ecx, edx
add ecx, 7
shr ecx, 3
add eax, 7
sar eax, 3
lea eax, [eax + ecx + 0x41]
test eax, eax
je 0x40dd5c
mov ecx, dword [esi + 0x248]
push eax
test ecx, ecx
je 0x40dd33
push esi
call ecx
add esp, 8
jmp 0x40dd3b
call fcn.00417c44
add esp, 4
mov edi, eax
test edi, edi
jne 0x40dd58
test dword [esi + 0x6c], 0x100000
jne 0x40dd58
push esi
mov ecx, str.Out_of_Memory_
call fcn.00406390
add esp, 4
mov eax, edi
jmp 0x40dd5e
xor eax, eax
mov dword [esi + 0x250], eax
add eax, 0x20
cmp dword [esi + 0xd8], 0xfffffffe
mov dword [esi + 0xec], eax
jbe 0x40dd84
push esi
mov ecx, str.Row_has_too_many_bytes_to_allocate_in_memory.
call fcn.00406390
add esp, 4
mov eax, dword [esi + 0xd8]
add eax, 1
je 0x40ddcb
mov ecx, dword [esi + 0x248]
push eax
test ecx, ecx
je 0x40dda2
push esi
call ecx
add esp, 8
jmp 0x40ddaa
call fcn.00417c44
add esp, 4
mov edi, eax
test edi, edi
jne 0x40ddc7
test dword [esi + 0x6c], 0x100000
jne 0x40ddc7
push esi
mov ecx, str.Out_of_Memory_
call fcn.00406390
add esp, 4
mov ecx, edi
jmp 0x40ddcd
xor ecx, ecx
mov eax, dword [esi + 0xd8]
inc eax
push eax
push 0
push ecx
mov dword [esi + 0xe8], ecx
call fcn.0041a6e0
add esp, 0xc
or dword [esi + 0x6c], 0x40
pop edi
pop ebp
pop ebx
add esp, 0x38
ret