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

Disassembly:
sub esp, 0x38
push ebx
push ebp
push esi
mov esi, dword [esp + 0x48]
xor edx, edx
mov ecx, 4
mov eax, 2
push edi
mov ebx, 1
mov edi, 8
push esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ebx
mov dword [esi + 0x78], edx
call fcn.00464610
add esp, 4
cmp byte [esi + 0x123], 0
je 0x45d684
test byte [esi + 0x70], 2
jne 0x45d61c
mov eax, dword [esi + 0xcc]
add eax, 7
shr eax, 3
mov dword [esi + 0xd0], eax
jmp 0x45d628
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 0x45d670
shr ecx, 3
imul ecx, eax
lea eax, [ecx + 1]
mov dword [esi + 0xdc], eax
jmp 0x45d6aa
imul ecx, eax
add ecx, 7
shr ecx, 3
lea eax, [ecx + 1]
mov dword [esi + 0xdc], eax
jmp 0x45d6aa
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 0x45d6c4
cmp byte [esi + 0x127], 8
jae 0x45d6c4
mov eax, edi
mov edi, ebx
and edi, 0x1000
je 0x45d72e
mov cl, byte [esi + 0x126]
cmp cl, 3
jne 0x45d6ee
xor eax, eax
cmp word [esi + 0x11a], ax
setne al
lea eax, [eax*8 + 0x18]
jmp 0x45d72e
test cl, cl
jne 0x45d70a
cmp eax, 8
jge 0x45d6fc
mov eax, 8
cmp word [esi + 0x11a], 0
je 0x45d72e
add eax, eax
jmp 0x45d72e
cmp cl, 2
jne 0x45d72e
cmp word [esi + 0x11a], 0
je 0x45d72e
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 0x45d775
mov cl, byte [esi + 0x126]
cmp cl, 3
jne 0x45d74a
mov eax, 0x20
jmp 0x45d775
test cl, cl
jne 0x45d75f
xor ecx, ecx
cmp eax, 8
setg cl
dec ecx
and ecx, 0xfffffff0
add ecx, 0x20
jmp 0x45d773
cmp cl, 2
jne 0x45d775
xor ecx, ecx
cmp eax, 0x20
setg cl
dec ecx
and ecx, 0xffffffe0
add ecx, 0x40
mov eax, ecx
test ebx, 0x4000
je 0x45d7d2
cmp word [esi + 0x11a], 0
je 0x45d78b
test edi, edi
jne 0x45d7c1
test edx, edx
jne 0x45d7c1
mov cl, byte [esi + 0x126]
cmp cl, 4
je 0x45d7c1
cmp eax, 8
jg 0x45d7b0
xor eax, eax
cmp cl, 6
sete al
lea eax, [eax*8 + 0x18]
jmp 0x45d7d2
xor eax, eax
cmp cl, 6
setne al
dec eax
and eax, 0x10
add eax, 0x30
jmp 0x45d7d2
xor edx, edx
cmp eax, 0x10
setg dl
dec edx
and edx, 0xffffffe0
add edx, 0x40
mov eax, edx
test ebx, 0x100000
je 0x45d7eb
movzx ecx, byte [esi + 0x65]
movzx edx, byte [esi + 0x64]
imul ecx, edx
cmp ecx, eax
jle 0x45d7eb
mov eax, ecx
lea edx, [ebp + 7]
and edx, 0xfffffff8
cmp eax, 8
mov ecx, eax
jl 0x45d800
shr ecx, 3
imul ecx, edx
jmp 0x45d809
imul ecx, edx
add ecx, 7
shr ecx, 3
add eax, 7
sar eax, 3
lea eax, [eax + ecx + 0x41]
push eax
push esi
call fcn.0045c160
mov dword [esi + 0x250], eax
add eax, 0x20
add esp, 8
cmp dword [esi + 0xd8], 0xfffffffe
mov dword [esi + 0xec], eax
jbe 0x45d843
push str.Row_has_too_many_bytes_to_allocate_in_memory.
push esi
call fcn.0045c590
add esp, 8
mov ecx, dword [esi + 0xd8]
inc ecx
push ecx
push esi
call fcn.0045c160
mov edx, dword [esi + 0xd8]
inc edx
push edx
push 0
push eax
push esi
mov dword [esi + 0xe8], eax
call fcn.0045c0c0
add esp, 0x18
or dword [esi + 0x6c], 0x40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret