Function at 0x101b952d
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x18
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
push ebx
add eax, eax
push ebp
mov ebp, dword [esp + 0x28]
and edx, 1
or edx, eax
push esi
mov esi, dword [esp + 0x28]
push edi
mov edi, ecx
mov ecx, dword [esp + 0x34]
add edx, edx
mov eax, ecx
and eax, 1
or edx, eax
mov eax, ebp
and eax, 1
add edx, edx
or edx, eax
mov eax, dword [esp + 0x48]
and eax, 1
mov word [esp + 0x24], ax
xor eax, eax
mov word [esp + 0x26], ax
mov eax, dword [edi + 0x70]
xor ebx, ebx
cmp dword [eax + 0xd0], 1
mov dword [esp + 0x10], ebx
mov word [esp + 0x1c], dx
jge 0x101b95ad
push dword [esp + 0x40]
push ecx
push ebp
push esi
mov ecx, edi
call fcn.101bb472
mov ebx, eax
mov dword [esp + 0x10], ebx
test ebx, ebx
js 0x101b98aa
mov ecx, dword [esp + 0x34]
test dword [0x102390b4], 0x400
je 0x101b95c5
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x18
ret 0x20
test ecx, ecx
jne 0x101b95fd
xor ebx, ebx
test ebp, ebp
sete bl
xor edx, edx
lea ebx, [ebx*2 - 1]
cmp dword [edi + 0x4f4], edx
jl 0x101b95fd
mov eax, dword [edi + 0x4fc]
cmp dword [eax + ecx + 4], esi
jb 0x101b95f1
add dword [eax + ecx + 4], ebx
inc edx
add ecx, 0x14
cmp edx, dword [edi + 0x4f4]
jle 0x101b95e1
test ebp, ebp
je 0x101b9631
mov edx, dword [edi + 0x4f4]
cmp edx, 0xffffffff
je 0x101b9631
mov eax, dword [edi + 0x4fc]
lea ecx, [edx + edx*4]
cmp dword [eax + ecx*4], esi
jne 0x101b9631
movzx eax, word [eax + ecx*4 + 8]
test al, 3
jne 0x101b9631
lea eax, [edx - 1]
mov dword [edi + 0x4f4], eax
jmp 0x101b98aa
mov ecx, dword [edi + 0x4f4]
cmp ecx, dword [edi + 0x4f8]
jl 0x101b9878
cmp ecx, 9
jne 0x101b9843
push 0x190
call fcn.1000ac41
mov edx, eax
test edx, edx
jne 0x101b9669
mov dword [esp + 0x10], 0x8007000e
jmp 0x101b98aa
mov ecx, dword [edi + 0x4fc]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [edx + 0xc], eax
mov eax, dword [ecx + 0x10]
mov dword [edx + 0x10], eax
mov ecx, dword [edi + 0x4fc]
mov eax, dword [ecx + 0x14]
mov dword [edx + 0x14], eax
mov eax, dword [ecx + 0x18]
mov dword [edx + 0x18], eax
mov eax, dword [ecx + 0x1c]
mov dword [edx + 0x1c], eax
mov eax, dword [ecx + 0x20]
mov dword [edx + 0x20], eax
mov eax, dword [ecx + 0x24]
mov dword [edx + 0x24], eax
mov ecx, dword [edi + 0x4fc]
mov eax, dword [ecx + 0x28]
mov dword [edx + 0x28], eax
mov eax, dword [ecx + 0x2c]
mov dword [edx + 0x2c], eax
mov eax, dword [ecx + 0x30]
mov dword [edx + 0x30], eax
mov eax, dword [ecx + 0x34]
mov dword [edx + 0x34], eax
mov eax, dword [ecx + 0x38]
mov dword [edx + 0x38], eax
mov ecx, dword [edi + 0x4fc]
mov eax, dword [ecx + 0x3c]
mov dword [edx + 0x3c], eax
mov eax, dword [ecx + 0x40]
mov dword [edx + 0x40], eax
mov eax, dword [ecx + 0x44]
mov dword [edx + 0x44], eax
mov eax, dword [ecx + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [ecx + 0x4c]
mov dword [edx + 0x4c], eax
mov ecx, dword [edi + 0x4fc]
mov eax, dword [ecx + 0x50]
mov dword [edx + 0x50], eax
mov eax, dword [ecx + 0x54]
mov dword [edx + 0x54], eax
mov eax, dword [ecx + 0x58]
mov dword [edx + 0x58], eax
mov eax, dword [ecx + 0x5c]
mov dword [edx + 0x5c], eax
mov eax, dword [ecx + 0x60]
mov dword [edx + 0x60], eax
mov ecx, dword [edi + 0x4fc]
mov eax, dword [ecx + 0x64]
mov dword [edx + 0x64], eax
mov eax, dword [ecx + 0x68]
mov dword [edx + 0x68], eax
mov eax, dword [ecx + 0x6c]
mov dword [edx + 0x6c], eax
mov eax, dword [ecx + 0x70]
mov dword [edx + 0x70], eax
mov eax, dword [ecx + 0x74]
mov dword [edx + 0x74], eax
mov ecx, dword [edi + 0x4fc]
mov eax, dword [ecx + 0x78]
mov dword [edx + 0x78], eax
mov eax, dword [ecx + 0x7c]
mov dword [edx + 0x7c], eax
mov eax, dword [ecx + 0x80]
mov dword [edx + 0x80], eax
mov eax, dword [ecx + 0x84]
mov dword [edx + 0x84], eax
mov eax, dword [ecx + 0x88]
mov dword [edx + 0x88], eax
mov ecx, dword [edi + 0x4fc]
mov eax, dword [ecx + 0x8c]
mov dword [edx + 0x8c], eax
mov eax, dword [ecx + 0x90]
mov dword [edx + 0x90], eax
mov eax, dword [ecx + 0x94]
mov dword [edx + 0x94], eax
mov eax, dword [ecx + 0x98]
mov dword [edx + 0x98], eax
mov eax, dword [ecx + 0x9c]
mov dword [edx + 0x9c], eax
mov ecx, dword [edi + 0x4fc]
mov eax, dword [ecx + 0xa0]
mov dword [edx + 0xa0], eax
mov eax, dword [ecx + 0xa4]
mov dword [edx + 0xa4], eax
mov eax, dword [ecx + 0xa8]
mov dword [edx + 0xa8], eax
mov eax, dword [ecx + 0xac]
mov dword [edx + 0xac], eax
mov eax, dword [ecx + 0xb0]
mov dword [edx + 0xb0], eax
mov ecx, dword [edi + 0x4fc]
mov eax, dword [ecx + 0xb4]
mov dword [edx + 0xb4], eax
mov eax, dword [ecx + 0xb8]
mov dword [edx + 0xb8], eax
mov eax, dword [ecx + 0xbc]
mov dword [edx + 0xbc], eax
mov eax, dword [ecx + 0xc0]
mov dword [edx + 0xc0], eax
mov eax, dword [ecx + 0xc4]
mov dword [edx + 0xc4], eax
mov dword [edi + 0x4fc], edx
jmp 0x101b9871
push dword [edi + 0x4fc]
call fcn.1001ce8a
add eax, 0xc8
push eax
push dword [edi + 0x4fc]
call fcn.1000e4b3
mov dword [edi + 0x4fc], eax
test eax, eax
jne 0x101b9871
mov dword [esp + 0x10], 0x8007000e
add dword [edi + 0x4f8], 0xa
inc dword [edi + 0x4f4]
mov eax, dword [edi + 0x4f4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x4fc]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x1c]
mov dword [ecx], esi
mov dword [ecx + 4], esi
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x44]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x10], eax
cmp dword [esp + 0x34], 0
je 0x101b98b8
mov ebx, 2
jmp 0x101b98bf
xor ebx, ebx
test ebp, ebp
sete bl
mov ecx, dword [edi + 0x80]
mov eax, dword [ecx + 0x34]
mov dword [esp + 0x2c], ecx
cmp eax, 0xffffffff
je 0x101b994e
cmp eax, dword [ecx + 4]
jbe 0x101b98da
xor ecx, ecx
jmp 0x101b98de
mov ecx, dword [ecx]
add ecx, eax
mov al, byte [ecx + 1]
and al, 7
mov dword [esp + 0x34], ecx
cmp al, 1
je 0x101b98f2
cmp word [ecx + 0x30], 0xffff
jne 0x101b9942
mov edi, dword [ecx + 0x1c]
test edi, edi
je 0x101b9942
movzx eax, byte [edi + 0x14]
inc eax
lea eax, [eax + eax*2]
lea eax, [edi + eax*4]
lea ebp, [edi + 0x18]
cmp eax, ebp
jb 0x101b9937
cmp ebx, 1
jne 0x101b991d
movzx edx, word [eax + 6]
cmp edx, esi
jb 0x101b9930
lea ecx, [edx + 1]
jmp 0x101b992c
test ebx, ebx
jne 0x101b9930
movzx edx, word [eax + 6]
cmp edx, esi
jbe 0x101b9930
lea ecx, [edx - 1]
mov word [eax + 6], cx
sub eax, 0xc
cmp eax, ebp
jae 0x101b990b
mov edi, dword [edi + 4]
test edi, edi
jne 0x101b98f9
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x2c]
cmp eax, 0xffffffff
jne 0x101b98d1
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x20