Function at 0x101b6470
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 0x101b680c
cmp byte [eax], 0x31
jne 0x101b680c
cmp dword [ebp + 0x24], 0x38
jne 0x101b680c
push ebx
push edi
mov edi, dword [ebp + 8]
test edi, edi
je 0x101b6801
cmp dword [edi + 0x20], 0
mov dword [edi + 0x18], 0
jne 0x101b64c4
mov dword [edi + 0x20], 0x101b94b0
mov dword [edi + 0x28], 0
cmp dword [edi + 0x24], 0
jne 0x101b64d1
mov dword [edi + 0x24], 0x101b94d0
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 0x101b64ee
xor edx, edx
neg ebx
jmp 0x101b64fb
cmp ebx, 0xf
jle 0x101b64fe
mov edx, 2
sub ebx, 0x10
mov dword [ebp - 4], edx
mov eax, dword [ebp + 0x18]
dec eax
cmp eax, 8
ja 0x101b6801
cmp dword [ebp + 0x10], 8
jne 0x101b6801
lea eax, [ebx - 8]
cmp eax, 7
ja 0x101b6801
cmp ecx, 9
ja 0x101b6801
cmp dword [ebp + 0x1c], 4
ja 0x101b6801
cmp ebx, 8
jne 0x101b6545
cmp edx, 1
jne 0x101b6801
lea ebx, [edx + 8]
push esi
mov esi, dword [edi + 0x20]
mov ecx, esi
push 0x16c4
push 1
push dword [edi + 0x28]
call dword [0x101d3368]
call esi
add esp, 0xc
test eax, eax
je 0x101b67f5
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 [0x101d3368]
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 [0x101d3368]
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 [0x101d3368]
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 [0x101d3368]
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 0x101b67dd
cmp dword [ebx + 0x40], 0
je 0x101b67dd
cmp dword [ebx + 0x44], 0
je 0x101b67dd
test edx, edx
je 0x101b67dd
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.101b6850
add esp, 4
test eax, eax
je 0x101b66c4
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 0x101b66fc
neg eax
mov dword [esi + 0x18], eax
cmp eax, 2
jne 0x101b6706
lea ecx, [eax + 0x37]
jmp 0x101b6715
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 0x101b672a
call fcn.101b91f0
jmp 0x101b672f
call fcn.101b8f60
add esp, 0xc
mov dword [edi + 0x30], eax
mov dword [esi + 0x28], 0
push esi
call fcn.101b9a00
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.10188460
mov eax, dword [esi + 0x84]
add esp, 0x10
lea ecx, [eax + eax*2]
movzx eax, word [ecx*4 + 0x101e4ce2]
mov dword [esi + 0x80], eax
movzx eax, word [ecx*4 + 0x101e4ce0]
mov dword [esi + 0x8c], eax
movzx eax, word [ecx*4 + 0x101e4ce4]
mov dword [esi + 0x90], eax
movzx eax, word [ecx*4 + 0x101e4ce6]
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.101b63a0
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