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

Disassembly:
mov eax, dword [esp + 4]
lea ecx, [eax - 1]
sub esp, 0x68
cmp ecx, 2
jbe 0x100f60d8
mov eax, 5
add esp, 0x68
ret
cmp eax, 1
jne 0x100f60eb
mov dword [esp + 8], 0x10188508
mov dword [esp + 0x10], eax
jmp 0x100f60fb
mov dword [esp + 8], 0x10188590
mov dword [esp + 0x10], 2
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx]
cmp eax, 0x59c
mov ecx, dword [ecx + 4]
mov dword [esp + 0x24], ecx
jb 0x100f6118
mov eax, 3
add esp, 0x68
ret
lea eax, [eax + eax*2]
push ebx
mov ebx, dword [esp + 0x78]
lea eax, [eax*4 + 0x1017dd90]
mov eax, dword [eax]
push ebp
mov ebp, dword [esp + 0x80]
shr eax, 0x16
push esi
lea eax, [eax + eax*2]
push edi
xor edi, edi
test ecx, 0x32000
mov dword [esp + 0x38], eax
mov eax, dword [eax*4 + 0x101822e0]
je 0x100f61d5
mov esi, ecx
and esi, 0x2000
je 0x100f6187
test eax, 0x4000
jne 0x100f616b
test ecx, 0x30000
je 0x100f617a
cmp ebp, 1
jb 0x100f617a
mov edx, dword [ebx]
and dl, 7
cmp dl, 2
je 0x100f6187
pop edi
pop esi
pop ebp
mov eax, 0x1c
pop ebx
add esp, 0x68
ret
mov edx, ecx
and edx, 0x30000
je 0x100f61d5
cmp esi, edi
je 0x100f61eb
cmp edx, 0x30000
je 0x100f61eb
test ecx, 0x10000
je 0x100f61b9
test eax, 0x8000
jne 0x100f61b9
pop edi
pop esi
pop ebp
mov eax, 0x1d
pop ebx
add esp, 0x68
ret
test ecx, 0x20000
je 0x100f61d5
test eax, 0x10000
jne 0x100f61d5
pop edi
pop esi
pop ebp
mov eax, 0x1e
pop ebx
add esp, 0x68
ret
mov edx, ecx
and edx, 0xc000
mov dword [esp + 0x3c], edx
je 0x100f6223
cmp edx, 0xc000
jne 0x100f61f8
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x68
ret
test ecx, 0x4000
je 0x100f6207
test eax, 0x1000
je 0x100f6216
test ecx, 0x8000
je 0x100f6223
test eax, 0x2000
jne 0x100f6223
pop edi
pop esi
pop ebp
mov eax, 0x1f
pop ebx
add esp, 0x68
ret
xor edx, edx
cmp ebp, edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edx
jbe 0x100f660f
mov edi, ebx
lea eax, [esp + 0x4f]
mov dword [esp + 0x14], edi
mov dword [esp + 0x30], eax
jmp 0x100f6250
mov eax, dword [edi]
mov ecx, eax
and ecx, 7
je 0x100f6673
xor ebp, ebp
add ecx, 0xffffffff
xor ebx, ebx
cmp ecx, 3
mov dword [esp + 0x24], ebp
ja case.default.0x100f6271
jmp dword [ecx*4 + 0x100f6a4c]
shr eax, 3
and eax, 0x1f
mov esi, eax
cmp esi, 0x16
jae 0x100f6632
mov eax, dword [esi*4 + 0x10188488]
test eax, eax
je 0x100f6632
mov ecx, dword [edi + 4]
cmp ecx, 0x100
jae 0x100f62c9
cmp ecx, 0x20
jae 0x100f663f
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x18]
test dword [ecx + esi*4], ebx
je 0x100f663f
or dword [esp + 0x7c], ebx
jmp 0x100f65d2
or ebx, 0xffffffff
jmp 0x100f65d2
mov ecx, dword [esp + 0x14]
mov edi, eax
mov esi, eax
shr edi, 3
shr esi, 8
mov edx, eax
and edx, 0xe00000
and edi, 0x1f
and esi, 0x1f
cmp edx, 0xc00000
mov dword [esp + 0x28], ecx
ja 0x100f664c
test edi, edi
mov edx, dword [ecx + 0xc]
je 0x100f6352
shr eax, 0x10
test al, 1
jne 0x100f6324
mov ecx, edi
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x18]
test dword [ecx + 0x80], eax
je 0x100f6659
cmp edx, 0x100
jae 0x100f633b
mov ebx, 1
mov ecx, edx
shl ebx, cl
or dword [esp + 0x7c], ebx
jmp 0x100f633e
or ebx, 0xffffffff
test esi, esi
jne 0x100f63a5
mov edx, dword [esp + 0x14]
cmp dword [edx + 8], esi
jne 0x100f639d
mov ebp, 0x800
jmp 0x100f639d
cmp dword [esp + 0x20], 1
mov eax, dword [ecx + 8]
jne 0x100f639d
mov ecx, eax
add ecx, 0x80000000
mov ebp, edx
adc ebp, 0
mov dword [esp + 0x44], ebp
jne 0x100f6374
cmp ecx, 0xffffffff
jbe 0x100f6399
test edx, edx
jl 0x100f6659
jg 0x100f6386
test eax, eax
jb 0x100f6659
test edx, edx
jg 0x100f6659
jl 0x100f6399
cmp eax, 0xffffffff
ja 0x100f6659
mov ebp, dword [esp + 0x24]
test esi, esi
je 0x100f6428
mov ecx, esi
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x18]
test dword [ecx + 0x84], eax
je 0x100f6659
cmp esi, 9
jne 0x100f63cd
mov eax, 0x20000
or ebp, 0x11
jmp 0x100f63fa
cmp esi, 0xa
jne 0x100f63dc
mov eax, 0x20000
or ebp, 0x22
jmp 0x100f63fa
cmp esi, 0xb
jne 0x100f63eb
mov eax, 0x20000
or ebp, 0x44
jmp 0x100f63fa
test edi, edi
mov eax, 0x10000
je 0x100f63fa
or ebp, 0x4000
cmp edi, 0xe
jne 0x100f640a
test eax, 0x20000
jne 0x100f6659
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 4]
cmp ecx, 0x100
jae 0x100f6424
mov edx, 1
shl edx, cl
or dword [esp + 0x7c], edx
xor ebx, ebx
jmp 0x100f642d
mov eax, 0x10000
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + 3]
cmp ecx, 0x40
ja case.0x100f6445.3
movzx edx, byte [ecx + 0x100f6a88]
jmp dword [edx*4 + 0x100f6a5c]
or ebp, 0x8000
jmp 0x100f65d2
or ebp, 1
jmp 0x100f65d2
or ebp, 2
jmp 0x100f65d2
or ebp, 4
jmp 0x100f65d2
or ebp, 8
jmp 0x100f65d2
or ebp, 0x10
jmp 0x100f65d2
or ebp, 0x20
jmp 0x100f65d2
or ebp, 0x40
jmp 0x100f65d2
or ebp, 0x80
jmp 0x100f65d2
or ebp, 0x100
jmp 0x100f65d2
mov eax, dword [edi + 0xc]
test eax, eax
mov ecx, dword [edi + 8]
jl 0x100f657d
jg 0x100f64bd
test ecx, ecx
jb 0x100f657d
test eax, eax
ja 0x100f6561
jb 0x100f64cc
cmp ecx, 0xf
ja 0x100f64d6
mov eax, 0x7fc0000
jmp 0x100f65d2
test eax, eax
ja 0x100f6561
jb 0x100f64e5
cmp ecx, 0x7f
ja 0x100f64ef
mov eax, 0x7f80000
jmp 0x100f65d2
test eax, eax
ja 0x100f6561
jb 0x100f64fd
cmp ecx, 0xff
ja 0x100f6507
mov eax, 0x7f00000
jmp 0x100f65d2
test eax, eax
ja 0x100f6561
jb 0x100f6515
cmp ecx, 0x7fff
ja 0x100f651f
mov eax, 0x7e00000
jmp 0x100f65d2
test eax, eax
ja 0x100f6561
jb 0x100f652d
cmp ecx, 0xffff
ja 0x100f6537
mov eax, 0x7c00000
jmp 0x100f65d2
test eax, eax
ja 0x100f6561
jb 0x100f6545
cmp ecx, 0x7fffffff
ja 0x100f654f
mov eax, 0x7800000
jmp 0x100f65d2
test eax, eax
ja 0x100f6561
jb 0x100f655a
cmp ecx, 0xffffffff
ja 0x100f6561
mov eax, 0x7000000
jmp 0x100f65d2
cmp eax, 0x7fffffff
ja 0x100f6576
jb 0x100f656f
cmp ecx, 0xffffffff
ja 0x100f6576
mov eax, 0x6000000
jmp 0x100f65d2
mov eax, 0x4000000
jmp 0x100f65d2
not ecx
add ecx, 1
not eax
adc eax, 0
test eax, eax
ja 0x100f65c6
jb 0x100f6595
cmp ecx, 0x80
ja 0x100f659c
mov eax, 0x2a80000
jmp 0x100f65d2
test eax, eax
ja 0x100f65c6
jb 0x100f65aa
cmp ecx, 0x8000
ja 0x100f65b1
mov eax, 0x2a00000
jmp 0x100f65d2
test eax, eax
ja 0x100f65c6
jb 0x100f65bf
cmp ecx, 0x80000000
ja 0x100f65c6
mov eax, 0x2800000
jmp 0x100f65d2
mov eax, 0x2000000
jmp 0x100f65d2
mov eax, 0x18000000
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x14]
or dword [esp + 0x1c], eax
mov word [ecx - 3], bp
mov ebp, dword [esp + 0x88]
add edx, 1
mov dword [ecx - 7], eax
mov byte [ecx], bl
add edi, 0x10
add ecx, 8
cmp edx, ebp
mov dword [esp + 0x2c], edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x30], ecx
jb 0x100f6250
cmp dword [esp + 0x20], 1
jne 0x100f66b9
test byte [esp + 0x1c], 0x10
je 0x100f66d7
pop edi
pop esi
pop ebp
mov eax, 0x32
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0x17
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0x19
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0x2b
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0x26
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0x2d
pop ebx
add esp, 0x68
ret
cmp edx, ebp
jae 0x100f660f
sub ebp, 1
cmp ebp, edx
mov dword [esp + 0x88], ebp
jbe 0x100f660f
mov eax, ebp
shl eax, 4
add eax, dword [esp + 0x84]
test byte [eax], 7
jne case.default.0x100f6271
sub ebp, 1
sub eax, 0x10
cmp ebp, edx
ja 0x100f6691
mov dword [esp + 0x88], ebp
jmp 0x100f660f
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0x68
ret
test byte [esp + 0x1c], 2
je 0x100f66d7
test dword [esp + 0x7c], 0xffffff00
je 0x100f66d7
pop edi
pop esi
pop ebp
mov eax, 0x31
pop ebx
add esp, 0x68
ret
mov eax, dword [esp + 0x38]
mov eax, dword [eax*4 + 0x101822e8]
mov ecx, eax
shr ecx, 8
shr eax, 0x12
and ecx, 0x3ff
lea ecx, [ecx*8 + 0x10187308]
and eax, 0xf
lea eax, [ecx + eax*8]
cmp ecx, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x2c], eax
je 0x100f6903
mov edx, ecx
add edx, 2
mov byte [esp + 0x13], 0
mov dword [esp + 0x14], edx
jmp 0x100f6720
mov eax, dword [esp + 0x18]
movzx eax, byte [eax]
mov ecx, eax
shr ecx, 3
and ecx, dword [esp + 0x20]
test cl, 3
je 0x100f68be
mov edx, dword [esp + 0x88]
mov ebx, eax
and ebx, 7
xor ebp, ebp
cmp ebx, edx
mov byte [esp + 0x7c], 0
jne 0x100f67dc
test edx, edx
jbe 0x100f68a9
lea esi, [esp + 0x4f]
mov edx, dword [esp + 0x14]
movzx eax, byte [edx + ebp]
mov ecx, dword [esi - 7]
mov edx, dword [eax*8 + 0x10186b78]
test ecx, edx
lea eax, [eax*8 + 0x10186b78]
jne 0x100f679c
test ecx, 0x7fc0000
je 0x100f68a9
test edx, 0x7fc0000
je 0x100f68a9
mov byte [esp + 0x7c], 1
jmp 0x100f67c8
movzx edx, word [esi - 3]
test edx, edx
je 0x100f67b0
movzx edi, word [eax + 4]
test edx, edi
je 0x100f68a9
test ecx, 0x7fff
je 0x100f67c8
movzx eax, byte [eax + 7]
test eax, eax
je 0x100f67c8
test byte [esi], al
je 0x100f68a9
add ebp, 1
add esi, 8
cmp ebp, dword [esp + 0x88]
jb 0x100f6760
jmp 0x100f68a9
shr eax, 5
mov ecx, ebx
sub ecx, eax
cmp ecx, edx
jne 0x100f68a9
xor ecx, ecx
xor ebp, ebp
test edx, edx
jbe 0x100f68a9
lea edi, [esp + 0x48]
mov dword [esp + 0x30], edi
nop
cmp ecx, ebx
jae 0x100f68a9
mov edx, dword [esp + 0x14]
movzx eax, byte [ecx + edx]
test dword [eax*8 + 0x10186b78], 0x80000000
lea eax, [eax*8 + 0x10186b78]
je 0x100f6847
add ecx, 1
cmp ecx, ebx
jae 0x100f68a9
mov eax, dword [esp + 0x14]
movzx eax, byte [ecx + eax]
test dword [eax*8 + 0x10186b78], 0x80000000
lea eax, [eax*8 + 0x10186b78]
jne 0x100f6824
mov esi, dword [edi]
mov edx, dword [eax]
test esi, edx
jne 0x100f6866
test esi, 0x7fc0000
je 0x100f68a9
test edx, 0x7fc0000
je 0x100f68a9
mov byte [esp + 0x7c], 1
jmp 0x100f688f
movzx edx, word [edi + 4]
test edx, edx
je 0x100f687a
movzx edi, word [eax + 4]
test edx, edi
je 0x100f68a9
mov edi, dword [esp + 0x30]
test esi, 0x7fff
je 0x100f688f
movzx eax, byte [eax + 7]
test eax, eax
je 0x100f688f
test byte [edi + 7], al
je 0x100f68a9
add ebp, 1
add edi, 8
add ecx, 1
cmp ebp, dword [esp + 0x88]
mov dword [esp + 0x30], edi
jb 0x100f6800
cmp ebp, dword [esp + 0x88]
jne 0x100f68be
mov al, byte [esp + 0x7c]
test al, al
je 0x100f68ec
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x18]
add dword [esp + 0x14], 8
add eax, 8
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
jne 0x100f6720
cmp byte [esp + 0x13], 0
je 0x100f68f6
pop edi
pop esi
pop ebp
mov eax, 0x2c
pop ebx
add esp, 0x68
ret
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x18], ecx
jne 0x100f6903
pop edi
pop esi
pop ebp
mov eax, 0x16
pop ebx
add esp, 0x68
ret
mov edx, dword [esp + 0x80]
mov ecx, dword [edx + 8]
test ecx, ecx
mov edi, dword [esp + 0x34]
jne 0x100f6921
test edi, 0x9c0000
je 0x100f6a3f
mov eax, dword [esp + 0x38]
mov eax, dword [eax*4 + 0x101822e0]
mov edx, eax
shr edx, 0x14
test dl, 1
je 0x100f6a28
test ecx, ecx
je 0x100f696d
and ecx, 0xf8
cmp cl, 0x90
je 0x100f6956
pop edi
pop esi
pop ebp
mov eax, 0x21
pop ebx
add esp, 0x68
ret
mov ecx, eax
shr ecx, 0x18
test cl, 1
jne 0x100f696d
pop edi
pop esi
pop ebp
mov eax, 0x22
pop ebx
add esp, 0x68
ret
test edi, 0x800000
je 0x100f698c
mov edx, eax
shr edx, 0x19
test dl, 1
jne 0x100f698c
pop edi
pop esi
pop ebp
mov eax, 0x23
pop ebx
add esp, 0x68
ret
test edi, 0x100000
mov esi, dword [esp + 0x28]
je 0x100f69cf
test esi, esi
je 0x100f69c2
movzx ecx, byte [esi + 3]
test ecx, ecx
je 0x100f69cf
mov edx, eax
shr edx, 0x1c
test dl, 1
je 0x100f69b3
cmp ecx, 4
jne 0x100f69c2
mov edx, eax
shr edx, 0x1d
test dl, 1
je 0x100f69cf
cmp ecx, 8
je 0x100f69cf
pop edi
pop esi
pop ebp
mov eax, 0x24
pop ebx
add esp, 0x68
ret
test edi, 0xc0000
je 0x100f6a3f
test esi, esi
jne 0x100f6a1b
test edi, 0x40000
je 0x100f6a14
mov ecx, eax
shr ecx, 0x1a
test cl, 1
je 0x100f6a1b
test eax, 0x30000000
je 0x100f6a3f
mov eax, dword [0x10188654]
mov ecx, dword [esp + 0x84]
cmp dword [ecx], eax
je 0x100f6a3f
cmp dword [ecx + 0x10], eax
je 0x100f6a3f
pop edi
lea eax, [esi + 0x25]
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
shr eax, 0x1b
test al, 1
jne 0x100f6a3f
pop edi
pop esi
pop ebp
mov eax, 0x25
pop ebx
add esp, 0x68
ret
test edi, 0x9c0000
jne 0x100f68f6
cmp dword [esp + 0x3c], 0
je 0x100f68f6
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x68
ret
mov eax, dword [esp + 4]
lea ecx, [eax - 1]
cmp ecx, 2
ja 0x100f8305
mov dword [esp + 4], eax
jmp 0x100f60c0
mov eax, 5
ret