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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 0xc]
push edi
mov edi, ecx
cmp byte [eax], 0x31
jne 0x5d414e
push esi
test edi, edi
je 0x5d4143
mov esi, dword [edi + 0x20]
mov dword [edi + 0x18], 0
test esi, esi
jne 0x5d3e19
mov dword [edi + 0x28], esi
mov esi, 0x4abb20
mov dword [edi + 0x20], 0x4abb20
cmp dword [edi + 0x24], 0
jne 0x5d3e26
mov dword [edi + 0x24], 0x5d62d0
mov eax, dword [ebp + 8]
cmp edx, 0xffffffff
mov ecx, 6
cmovne ecx, edx
dec eax
mov dword [ebp - 4], ecx
cmp eax, 8
ja 0x5d4143
cmp ecx, 9
ja 0x5d4143
push ebx
push 0x16c4
push 1
push dword [edi + 0x28]
mov ecx, esi
call dword [0x70d440]
call esi
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x5d4137
mov ecx, dword [ebp + 8]
mov eax, 1
mov dword [edi + 0x1c], ebx
add ecx, 7
shl eax, cl
mov dword [ebx + 0x4c], eax
dec eax
mov dword [ebx + 0x50], ecx
add ecx, 2
mov dword [ebx + 0x54], eax
mov eax, 0xaaaaaaab
mul ecx
push 2
shr edx, 1
mov dword [ebx], edi
mov dword [ebx + 4], 0x2a
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x30], 0xf
mov dword [ebx + 0x2c], 0x8000
mov dword [ebx + 0x34], 0x7fff
mov dword [ebx + 0x58], edx
mov esi, dword [edi + 0x20]
mov ecx, esi
push 0x8000
push dword [edi + 0x28]
call dword [0x70d440]
call esi
add esp, 0xc
mov dword [ebx + 0x38], eax
mov esi, dword [edi + 0x20]
mov ecx, esi
push 2
push dword [ebx + 0x2c]
push dword [edi + 0x28]
call dword [0x70d440]
call esi
add esp, 0xc
mov dword [ebx + 0x40], eax
mov esi, dword [edi + 0x20]
mov ecx, esi
push 2
push dword [ebx + 0x4c]
push dword [edi + 0x28]
call dword [0x70d440]
call esi
mov ecx, dword [ebp + 8]
add esp, 0xc
mov dword [ebx + 0x44], eax
mov eax, 1
mov dword [ebx + 0x16c0], 0
lea ecx, [ecx + 6]
shl eax, cl
push 4
mov dword [ebx + 0x169c], eax
mov esi, dword [edi + 0x20]
mov ecx, esi
push eax
push dword [edi + 0x28]
call dword [0x70d440]
call esi
mov esi, dword [ebx + 0x169c]
add esp, 0xc
cmp dword [ebx + 0x38], 0
mov edx, eax
mov dword [ebx + 8], edx
lea ecx, [esi*4]
mov dword [ebx + 0xc], ecx
je 0x5d4121
cmp dword [ebx + 0x40], 0
je 0x5d4121
cmp dword [ebx + 0x44], 0
je 0x5d4121
test edx, edx
je 0x5d4121
mov eax, esi
mov dword [ebx + 0x88], 0
shr eax, 1
mov ecx, edi
mov byte [ebx + 0x24], 8
lea eax, [edx + eax*2]
mov dword [ebx + 0x16a4], eax
lea eax, [edx + esi*2]
add eax, esi
mov dword [ebx + 0x1698], eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0x84], eax
call fcn.005d4160
test eax, eax
je 0x5d3fca
mov ebx, 0xfffffffe
mov eax, ebx
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x1c]
mov dword [edi + 0x14], 0
mov dword [edi + 8], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x2c], 2
mov edx, dword [ecx + 0x18]
mov eax, dword [ecx + 8]
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], eax
test edx, edx
jns 0x5d4002
neg edx
mov dword [ecx + 0x18], edx
cmp edx, 2
jne 0x5d400c
lea eax, [edx + 0x37]
jmp 0x5d401b
test edx, edx
mov eax, 0x71
mov esi, 0x2a
cmovne eax, esi
mov dword [ecx + 4], eax
xor eax, eax
cmp edx, 2
setne al
mov dword [edi + 0x30], eax
lea eax, [ecx + 0x94]
mov dword [ecx + 0xb18], eax
lea eax, [ecx + 0x988]
mov dword [ecx + 0xb24], eax
lea eax, [ecx + 0xa7c]
mov dword [ecx + 0xb30], eax
xor eax, eax
mov dword [ecx + 0x28], 0
mov dword [ecx + 0xb20], 0x784844
mov dword [ecx + 0xb2c], 0x7847ec
mov dword [ecx + 0xb38], 0x78489c
mov word [ecx + 0x16b8], ax
mov dword [ecx + 0x16bc], eax
call fcn.005d7100
mov esi, dword [edi + 0x1c]
xor edx, edx
xor ebx, ebx
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x4c]
add eax, eax
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x44]
mov word [eax + ecx*2 - 2], dx
mov eax, dword [esi + 0x4c]
lea eax, [eax*2 - 2]
push eax
push edx
push dword [esi + 0x44]
call fcn.006d4310
mov eax, dword [esi + 0x84]
add esp, 0xc
lea ecx, [eax + eax*2]
movzx eax, word [ecx*4 + 0x78524a]
mov dword [esi + 0x80], eax
movzx eax, word [ecx*4 + 0x785248]
mov dword [esi + 0x8c], eax
movzx eax, word [ecx*4 + 0x78524c]
mov dword [esi + 0x90], eax
movzx eax, word [ecx*4 + 0x78524e]
mov dword [esi + 0x7c], eax
mov eax, ebx
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x74], ebx
mov dword [esi + 0x16b4], ebx
mov dword [esi + 0x68], ebx
mov dword [esi + 0x48], ebx
pop ebx
mov dword [esi + 0x78], 2
mov dword [esi + 0x60], 2
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, dword [str.insufficient_memory]
mov ecx, edi
mov dword [ebx + 4], 0x29a
mov dword [edi + 0x18], eax
call fcn.005d4c00
pop ebx
pop esi
mov eax, 0xfffffffc
pop edi
mov esp, ebp
pop ebp
ret
pop esi
mov eax, 0xfffffffe
pop edi
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffa
pop edi
mov esp, ebp
pop ebp
ret