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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [ebp + 0x20]
mov edx, 1
mov dword [ebp - 4], edx
test eax, eax
je 0x100b5f2c
cmp byte [eax], 0x31
jne 0x100b5f2c
cmp dword [ebp + 0x24], 0x38
jne 0x100b5f2c
push ebx
push edi
mov edi, dword [ebp + 8]
test edi, edi
je 0x100b5f21
cmp dword [edi + 0x20], 0
mov dword [edi + 0x18], 0
jne 0x100b5be4
mov dword [edi + 0x20], 0x100ba5b0
mov dword [edi + 0x28], 0
cmp dword [edi + 0x24], 0
jne 0x100b5bf1
mov dword [edi + 0x24], 0x100ba5d0
cmp dword [ebp + 0xc], 0xffffffff
mov ecx, 6
mov ebx, dword [ebp + 0x14]
cmovne ecx, dword [ebp + 0xc]
mov dword [ebp - 0xc], ecx
test ebx, ebx
jns 0x100b5c0e
xor edx, edx
neg ebx
jmp 0x100b5c1b
cmp ebx, 0xf
jle 0x100b5c1e
mov edx, 2
sub ebx, 0x10
mov dword [ebp - 4], edx
mov eax, dword [ebp + 0x18]
dec eax
cmp eax, 8
ja 0x100b5f21
cmp dword [ebp + 0x10], 8
jne 0x100b5f21
lea eax, [ebx - 8]
cmp eax, 7
ja 0x100b5f21
cmp ecx, 9
ja 0x100b5f21
cmp dword [ebp + 0x1c], 4
ja 0x100b5f21
cmp ebx, 8
jne 0x100b5c65
cmp edx, 1
jne 0x100b5f21
lea ebx, [edx + 8]
push esi
mov esi, dword [edi + 0x20]
mov ecx, esi
push 0x16c4
push 1
push dword [edi + 0x28]
call dword [0x100f4524]
call esi
add esp, 0xc
test eax, eax
je 0x100b5f15
mov ecx, dword [ebp - 4]
mov esi, 1
mov dword [edi + 0x1c], eax
mov dword [eax + 0x18], ecx
mov ecx, ebx
mov dword [eax + 0x30], ebx
mov ebx, eax
shl esi, cl
mov ecx, dword [ebp + 0x18]
mov dword [eax], edi
add ecx, 7
mov dword [eax + 4], 0x2a
mov dword [eax + 0x1c], 0
lea eax, [esi - 1]
mov dword [ebx + 0x34], eax
mov eax, 1
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
push esi
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x58], edx
mov esi, dword [edi + 0x20]
mov ecx, esi
push dword [edi + 0x28]
call dword [0x100f4524]
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 [0x100f4524]
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 [0x100f4524]
call esi
mov ecx, dword [ebp + 0x18]
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 [0x100f4524]
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 0x100b5efd
cmp dword [ebx + 0x40], 0
je 0x100b5efd
cmp dword [ebx + 0x44], 0
je 0x100b5efd
test edx, edx
je 0x100b5efd
mov eax, esi
mov byte [ebx + 0x24], 8
shr eax, 1
push edi
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 - 0xc]
mov dword [ebx + 0x84], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebx + 0x88], eax
call fcn.100b5f70
add esp, 4
test eax, eax
je 0x100b5de4
pop esi
mov ebx, 0xfffffffe
pop edi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x1c]
mov dword [edi + 0x14], 0
mov dword [edi + 8], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x2c], 2
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x14], 0
test eax, eax
jns 0x100b5e1c
neg eax
mov dword [esi + 0x18], eax
cmp eax, 2
jne 0x100b5e26
lea ecx, [eax + 0x37]
jmp 0x100b5e35
test eax, eax
mov ecx, 0x71
mov edx, 0x2a
cmovne ecx, edx
mov dword [esi + 4], ecx
push 0
push 0
push 0
cmp eax, 2
jne 0x100b5e4a
call fcn.100ba2f0
jmp 0x100b5e4f
call fcn.100ba060
add esp, 0xc
mov dword [edi + 0x30], eax
mov dword [esi + 0x28], 0
push esi
call fcn.100b8bb0
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.100075c0
mov eax, dword [esi + 0x84]
add esp, 0x10
lea ecx, [eax + eax*2]
movzx eax, word [ecx*4 + 0x10111ba2]
mov dword [esi + 0x80], eax
movzx eax, word [ecx*4 + 0x10111ba0]
mov dword [esi + 0x8c], eax
movzx eax, word [ecx*4 + 0x10111ba4]
mov dword [esi + 0x90], eax
movzx eax, word [ecx*4 + 0x10111ba6]
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
mov dword [esi + 0x78], 2
mov dword [esi + 0x60], 2
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebx + 4], 0x29a
mov eax, dword [str.insufficient_memory]
push edi
mov dword [edi + 0x18], eax
call fcn.100b5ac0
add esp, 4
pop esi
pop edi
mov eax, 0xfffffffc
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffa
mov esp, ebp
pop ebp
ret