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

Disassembly:
sub esp, 0x44
mov edx, dword [esp + 0x48]
push ebx
push ebp
push esi
mov eax, dword [edx + 0xfd0]
push edi
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x6c]
movzx ecx, al
mov eax, dword [esp + 0x90]
shl eax, 2
cmp dword [esp + 0x78], 0
mov esi, dword [ecx*4 + 0x106c1810]
mov ebp, dword [ecx*4 + 0x106c1860]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x10], esi
lea edi, [eax*4]
je 0x100f8741
mov ecx, dword [esp + 0x98]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x94], 0x5b8
setne al
test ecx, ecx
lea eax, [eax*2 + 0x2b78]
movzx ebx, word [eax + edx]
mov eax, 0x80
cmovne eax, dword [esp + 0x94]
shl ecx, 4
add ebx, dword [eax + edx]
mov eax, dword [edx + 0x1008]
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x3c]
add ebx, ecx
test byte [eax + 0x8c], 8
je 0x100f86c2
mov eax, dword [esp + 0x88]
lea ecx, [eax + eax]
mov dword [esp + 0x94], ecx
test ebp, ebp
jle 0x100f8e7d
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x8c]
imul edi, edx
add eax, eax
mov dword [esp + 0x58], eax
add edi, dword [esp + 0x90]
add edi, dword [esp + 0x28]
test esi, esi
jle 0x100f86aa
mov edx, edi
nop
movzx eax, byte [edx]
lea ecx, [ecx + 2]
lea edx, [edx + 1]
mov ax, word [ebx + eax*2 + 0x56]
mov word [ecx - 2], ax
sub esi, 1
jne 0x100f8680
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x58]
add ecx, eax
add edi, edx
mov dword [esp + 0x94], ecx
sub ebp, 1
jne 0x100f8678
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
test ebp, ebp
jle 0x100f8e7d
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x88]
imul edi, ecx
mov dword [esp + 0x94], eax
add edi, dword [esp + 0x90]
add edi, dword [esp + 0x28]
nop word [eax + eax]
test esi, esi
jle 0x100f8724
mov ecx, eax
mov edx, edi
nop dword [eax + eax]
movzx eax, byte [edx]
lea edx, [edx + 1]
lea ecx, [ecx + 1]
mov al, byte [ebx + eax*2 + 0x56]
mov byte [ecx - 1], al
sub esi, 1
jne 0x100f8700
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x64]
add eax, dword [esp + 0x8c]
add edi, ecx
mov dword [esp + 0x94], eax
sub ebp, 1
jne 0x100f86f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
imul eax, dword [esp + 0x98], 0x538
cmp dword [esp + 0x94], 0
mov ebx, dword [ecx*4 + 0x106c18b0]
mov ecx, dword [ecx*4 + 0x106c1900]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax + edx + 0x14]
mov ebx, dword [eax + edx + 0x18]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x44], ebx
jne 0x100f879a
test ebx, ebx
je 0x100f8788
mov al, byte [edx + 0xfd6]
jmp 0x100f878e
mov al, byte [edx + 0xfd4]
mov dword [esp + 0x2c], 0
test al, al
je 0x100f87a2
mov dword [esp + 0x2c], 1
cmp dword [esp + 0x90], 0
jne 0x100f87ca
test ecx, ecx
je 0x100f87b8
mov al, byte [edx + 0xfd7]
jmp 0x100f87be
mov al, byte [edx + 0xfd5]
mov dword [esp + 0x24], 0
test al, al
je 0x100f87d2
mov dword [esp + 0x24], 1
mov eax, dword [edx + 0xff8]
add ecx, 3
neg eax
sar eax, 5
mov dword [esp + 0x34], eax
mov eax, dword [edx + 0xff0]
neg eax
sar eax, 5
mov dword [esp + 0x38], eax
mov eax, dword [edx + 0xff4]
sar eax, cl
lea ecx, [ebx + 3]
sub eax, dword [esp + 0x28]
sub eax, esi
mov esi, dword [edx + 0xffc]
add eax, dword [esp + 0x64]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x90]
add eax, dword [esp + 0x18]
sar esi, cl
mov ecx, dword [esp + 0x30]
sub esi, edi
mov dword [esp + 0x50], eax
sub esi, ebp
add esi, dword [esp + 0x68]
shl eax, cl
add eax, dword [esp + 0x38]
mov dword [esp + 0x4c], eax
mov eax, dword [edx + 0xfc4]
mov dword [esp + 0x20], esi
mov dword [esp + 0x48], eax
test esi, esi
jle 0x100f886e
mov eax, dword [esp + 0x94]
mov ecx, ebx
add eax, dword [esp + 0x1c]
shl eax, cl
add eax, dword [esp + 0x34]
mov dword [esp + 0x40], 1
cmp eax, dword [edx + 0xfbc]
jl 0x100f8876
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x30]
mov cl, byte [eax + 4]
mov edi, dword [eax]
mov byte [esp + 0x78], cl
mov ecx, 5
test edx, edx
jne 0x100f8894
test ebx, ebx
je case.0x100f88a0.3
cmp edi, 0x11
ja case.0x100f88a0.3
movzx eax, byte [edi + 0x100f8ea0]
jmp dword [eax*4 + 0x100f8e88]
cmp edx, 1
jne 0x100f88b8
lea edi, [ebx - 1]
neg edi
sbb edi, edi
add edi, 3
jmp case.0x100f88a0.3
cmp ebx, 1
jne case.0x100f88a0.3
mov edi, ebx
jmp case.0x100f88a0.3
cmp edx, 1
jne 0x100f88b8
lea edi, [edx + 2]
jmp case.0x100f88a0.3
cmp edx, 1
jne 0x100f88dc
lea edi, [ebx - 1]
neg edi
sbb edi, edi
add edi, 3
jmp case.0x100f88a0.3
cmp ebx, 1
jne case.0x100f88a0.3
lea edi, [ebx + 2]
jmp case.0x100f88a0.3
cmp edx, 1
jne 0x100f88f0
lea edi, [edx + 3]
jmp case.0x100f88a0.3
cmp ebx, 1
jne case.0x100f88a0.3
lea edi, [ebx + 0xf]
jmp case.0x100f88a0.3
cmp edx, 1
jne 0x100f8904
mov edi, 0x11
cmp ebx, 1
cmove edi, ecx
mov eax, dword [esp + 0x70]
movzx esi, al
mov dword [esp + 0x3c], 0
lea ecx, [eax - 1]
movzx eax, byte [esi + 0x106c20e4]
mov dword [esp + 0x14], eax
and eax, 8
and dword [esp + 0x14], 0x20
cmp byte [esp + 0x7c], 5
je 0x100f893c
xor eax, eax
mov dword [esp + 0x14], eax
cmp cl, 7
ja 0x100f8967
movzx esi, byte [esi + 0x106c1e38]
xor eax, eax
add esi, dword [esp + 0x74]
cmp esi, 0x5a
mov dword [esp + 0x3c], esi
setl al
xor ecx, ecx
cmp esi, 0xb4
setg cl
mov dword [esp + 0x14], ecx
mov esi, 0x10
test eax, eax
je 0x100f8ac5
cmp dword [esp + 0x2c], 0
je 0x100f8ac1
mov eax, dword [esp + 0x48]
cmp dword [esp + 0x4c], eax
jge 0x100f8ac1
movzx eax, byte [edi + 0x106c1600]
movzx edx, dl
mov cl, dl
shr eax, cl
mov ecx, 1
cmp eax, ecx
cmova ecx, eax
cmp dword [esp + 0x94], 0
jle 0x100f8a15
cmp byte [edi + 0x106c1630], 0x40
jbe 0x100f89fe
mov eax, esi
mov cl, bl
shr eax, cl
cmp dword [esp + 0x94], eax
jne 0x100f89db
mov eax, esi
mov ecx, edx
shr eax, cl
cmp dword [esp + 0x50], eax
jne 0x100f89db
lea ebx, [esi - 0xf]
jmp 0x100f8ac8
mov eax, dword [esp + 0x90]
mov ecx, edx
shr esi, cl
xor ebx, ebx
cdq
idiv esi
add edx, dword [esp + 0x18]
cmp edx, esi
mov esi, 0x10
setl bl
jmp 0x100f8ac8
mov eax, dword [esp + 0x90]
xor ebx, ebx
add eax, dword [esp + 0x18]
cmp eax, ecx
setl bl
jmp 0x100f8ac8
mov eax, dword [esp + 0x90]
add eax, dword [esp + 0x18]
cmp eax, ecx
jge 0x100f8a2e
mov ebx, 1
jmp 0x100f8ac8
mov eax, dword [esp + 0x5c]
mov cl, byte [edi + 0x106c15e8]
movzx ebx, byte [edi + 0x106c15d0]
movzx eax, byte [eax + 0x106c1618]
mov dword [esp + 0x50], eax
lea edx, [eax - 1]
mov esi, edx
and edx, dword [esp + 0x38]
and esi, dword [esp + 0x34]
sar esi, cl
mov ecx, ebx
sar edx, cl
test esi, esi
jne 0x100f8a69
lea ebx, [esi + 1]
lea esi, [ebx + 0xf]
jmp 0x100f8ac8
lea eax, [edx + 1]
mov ecx, ebx
shl eax, cl
cmp eax, dword [esp + 0x50]
jl 0x100f8a7d
xor ebx, ebx
lea esi, [ebx + 0x10]
jmp 0x100f8ac8
mov ecx, 5
sub ecx, ebx
shl esi, cl
mov ecx, 8
lea eax, [edx + esi]
cdq
idiv ecx
mov cl, byte [esp + 0x78]
cmp cl, 6
je 0x100f8aa8
cmp cl, 7
je 0x100f8aa8
mov ecx, dword [edi*4 + 0x106c20f8]
jmp 0x100f8aaf
mov ecx, dword [edi*4 + 0x106c2150]
movzx ebx, byte [ecx + eax]
mov esi, 0x10
mov cl, dl
shr ebx, cl
and ebx, 1
jmp 0x100f8ac8
xor ebx, ebx
jmp 0x100f8ac8
or ebx, 0xffffffff
cmp dword [esp + 0x14], 0
je 0x100f8c6c
cmp dword [esp + 0x40], 0
je 0x100f8c05
cmp dword [esp + 0x24], 0
je 0x100f8c05
mov eax, dword [esp + 0x90]
mov dl, byte [edi + 0x106c1630]
test eax, eax
jle 0x100f8b4c
cmp dl, 0x40
jbe 0x100f8c05
mov cl, byte [esp + 0x30]
shr esi, cl
cdq
idiv esi
test edx, edx
jne 0x100f8c05
mov edx, dword [esp + 0x44]
mov esi, 0x10
mov eax, dword [esp + 0x94]
movzx ecx, dl
cdq
shr esi, cl
idiv esi
movzx eax, byte [edi + 0x106c1618]
shr eax, cl
cmp eax, esi
cmovb esi, eax
mov eax, dword [esp + 0x1c]
add eax, edx
xor edx, edx
cmp eax, esi
setl dl
jmp 0x100f8c6f
mov edx, dword [esp + 0x44]
mov cl, dl
movzx eax, byte [edi + 0x106c1618]
shr eax, cl
mov ecx, 1
cmp eax, 1
cmova ecx, eax
mov eax, dword [esp + 0x94]
add eax, dword [esp + 0x1c]
cmp eax, ecx
jge 0x100f8b7f
mov edx, 1
jmp 0x100f8c6f
movzx eax, byte [edi + 0x106c15d0]
mov dword [esp + 0x44], eax
movzx eax, byte [edi + 0x106c15e8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x5c]
movzx eax, byte [eax + 0x106c1618]
mov dword [esp + 0x50], eax
lea ecx, [eax - 1]
mov esi, ecx
mov dword [esp + 0x90], ecx
and esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
sar esi, cl
mov ecx, dword [esp + 0x38]
and dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x44]
sar dword [esp + 0x90], cl
cmp dword [esp + 0x90], 0
mov ecx, dword [esp + 0x30]
jne 0x100f8bfa
shl esi, cl
mov ecx, edx
sar esi, cl
xor edx, edx
add esi, dword [esp + 0x1c]
add esi, dword [esp + 0x94]
sar eax, cl
cmp esi, eax
setl dl
jmp 0x100f8c6f
lea eax, [esi + 1]
shl eax, cl
cmp eax, dword [esp + 0x50]
jl 0x100f8c09
xor edx, edx
jmp 0x100f8c6f
mov ecx, 5
sub ecx, dword [esp + 0x44]
shl esi, cl
mov ecx, 8
add esi, dword [esp + 0x90]
mov eax, esi
cdq
idiv ecx
mov cl, byte [esp + 0x78]
mov dword [esp + 0x94], edx
cmp cl, 6
je 0x100f8c53
cmp cl, 7
je 0x100f8c53
mov ecx, dword [edi*4 + 0x106c2190]
movzx edx, byte [ecx + eax]
mov cl, byte [esp + 0x94]
shr edx, cl
and edx, 1
jmp 0x100f8c6f
mov ecx, dword [edi*4 + 0x106c21e8]
movzx edx, byte [ecx + eax]
mov cl, byte [esp + 0x94]
shr edx, cl
and edx, 1
jmp 0x100f8c6f
or edx, 0xffffffff
mov esi, dword [esp + 0x58]
xor eax, eax
cmp dword [esp + 0x60], eax
sete al
cmp dword [esp + 0x98], 0
mov dword [esp + 0x90], eax
jne 0x100f8cbe
mov eax, dword [esi + 0xfdc]
mov edi, dword [esi + 0xfd8]
test eax, eax
je 0x100f8cb3
mov al, byte [eax + 5]
cmp al, 9
je 0x100f8cac
cmp al, 0xa
je 0x100f8cac
cmp al, 0xb
jne 0x100f8cb3
mov ecx, 1
jmp 0x100f8cb5
xor ecx, ecx
test edi, edi
je 0x100f8d20
mov al, byte [edi + 5]
jmp 0x100f8d0d
mov ecx, dword [esi + 0xfe4]
mov edi, dword [esi + 0xfe0]
test ecx, ecx
je 0x100f8cf4
mov al, byte [ecx + 0x9f]
test al, al
js 0x100f8cf4
cmp byte [ecx + 0x14], 0
jg 0x100f8cf4
mov al, byte [ecx + 6]
cmp al, 9
je 0x100f8ced
cmp al, 0xa
je 0x100f8ced
cmp al, 0xb
jne 0x100f8cf4
mov ecx, 1
jmp 0x100f8cf6
xor ecx, ecx
test edi, edi
je 0x100f8d20
mov al, byte [edi + 0x9f]
test al, al
js 0x100f8d20
cmp byte [edi + 0x14], 0
jg 0x100f8d20
mov al, byte [edi + 6]
cmp al, 9
je 0x100f8d19
cmp al, 0xa
je 0x100f8d19
cmp al, 0xb
jne 0x100f8d20
mov eax, 1
jmp 0x100f8d22
xor eax, eax
test ecx, ecx
jne 0x100f8d2e
test eax, eax
jne 0x100f8d2e
xor edi, edi
jmp 0x100f8d33
mov edi, 1
mov eax, dword [esi + 0x1008]
mov dword [esp + 0x94], edi
test byte [eax + 0x8c], 8
mov eax, dword [esp + 0x20]
je 0x100f8df1
test edx, edx
jle 0x100f8d5c
cmp ebp, eax
mov edx, eax
cmovl edx, ebp
cmp dword [esp + 0x24], 0
je 0x100f8d6d
lea edi, [eax + ebp]
cmp ebp, edi
cmovl edi, ebp
jmp 0x100f8d6f
xor edi, edi
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
test ebx, ebx
jle 0x100f8d82
cmp eax, ecx
mov ebx, ecx
cmovl ebx, eax
cmp dword [esp + 0x2c], 0
je 0x100f8d92
add ecx, eax
cmp eax, ecx
cmovl ecx, eax
jmp 0x100f8d94
xor ecx, ecx
push dword [esi + 0x1a78]
push dword [esp + 0x98]
push edx
push edi
push ebx
push ecx
push dword [esp + 0xa8]
push dword [esp + 0x88]
push dword [esp + 0x9c]
push dword [esp + 0x60]
push dword [esp + 0x98]
push dword [esp + 0xb8]
push dword [esp + 0xb8]
push dword [esp + 0xb8]
push dword [esp + 0xb8]
call fcn.100f9960
add esp, 0x3c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
test edx, edx
jle 0x100f8dfc
cmp ebp, eax
mov edx, eax
cmovl edx, ebp
cmp dword [esp + 0x24], 0
je 0x100f8e0d
lea esi, [eax + ebp]
cmp ebp, esi
cmovl esi, ebp
jmp 0x100f8e0f
xor esi, esi
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
test ebx, ebx
jle 0x100f8e22
cmp eax, ecx
mov ebx, ecx
cmovl ebx, eax
cmp dword [esp + 0x2c], 0
je 0x100f8e32
add ecx, eax
cmp eax, ecx
cmovl ecx, eax
jmp 0x100f8e34
xor ecx, ecx
push edi
push edx
push esi
push ebx
push ecx
push dword [esp + 0xa4]
push dword [esp + 0x84]
push dword [esp + 0x98]
push dword [esp + 0x5c]
push dword [esp + 0x94]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
call fcn.100f9190
add esp, 0x38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret