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

Disassembly:
mov eax, dword [esp + 4]
lea ecx, [eax - 1]
sub esp, 0x68
cmp ecx, 2
jbe 0x100dc618
mov eax, 5
add esp, 0x68
ret
cmp eax, 1
jne 0x100dc62b
mov dword [esp + 8], 0x10166e58
mov dword [esp + 0x10], eax
jmp 0x100dc63b
mov dword [esp + 8], 0x10166ee0
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 0x100dc658
mov eax, 3
add esp, 0x68
ret
lea eax, [eax + eax*2]
push ebx
mov ebx, dword [esp + 0x78]
lea eax, [eax*4 + 0x1015c6e0]
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 + 0x10160c30]
je 0x100dc715
mov esi, ecx
and esi, 0x2000
je 0x100dc6c7
test eax, 0x4000
jne 0x100dc6ab
test ecx, 0x30000
je 0x100dc6ba
cmp ebp, 1
jb 0x100dc6ba
mov edx, dword [ebx]
and dl, 7
cmp dl, 2
je 0x100dc6c7
pop edi
pop esi
pop ebp
mov eax, 0x1c
pop ebx
add esp, 0x68
ret
mov edx, ecx
and edx, 0x30000
je 0x100dc715
cmp esi, edi
je 0x100dc72b
cmp edx, 0x30000
je 0x100dc72b
test ecx, 0x10000
je 0x100dc6f9
test eax, 0x8000
jne 0x100dc6f9
pop edi
pop esi
pop ebp
mov eax, 0x1d
pop ebx
add esp, 0x68
ret
test ecx, 0x20000
je 0x100dc715
test eax, 0x10000
jne 0x100dc715
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 0x100dc763
cmp edx, 0xc000
jne 0x100dc738
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x68
ret
test ecx, 0x4000
je 0x100dc747
test eax, 0x1000
je 0x100dc756
test ecx, 0x8000
je 0x100dc763
test eax, 0x2000
jne 0x100dc763
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 0x100dcb4f
mov edi, ebx
lea eax, [esp + 0x4f]
mov dword [esp + 0x14], edi
mov dword [esp + 0x30], eax
jmp 0x100dc790
mov eax, dword [edi]
mov ecx, eax
and ecx, 7
je 0x100dcbb3
xor ebp, ebp
add ecx, 0xffffffff
xor ebx, ebx
cmp ecx, 3
mov dword [esp + 0x24], ebp
ja case.default.0x100dc7b1
jmp dword [ecx*4 + 0x100dcf8c]
shr eax, 3
and eax, 0x1f
mov esi, eax
cmp esi, 0x16
jae 0x100dcb72
mov eax, dword [esi*4 + 0x10166dd8]
test eax, eax
je 0x100dcb72
mov ecx, dword [edi + 4]
cmp ecx, 0x100
jae 0x100dc809
cmp ecx, 0x20
jae 0x100dcb7f
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x18]
test dword [ecx + esi*4], ebx
je 0x100dcb7f
or dword [esp + 0x7c], ebx
jmp 0x100dcb12
or ebx, 0xffffffff
jmp 0x100dcb12
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 0x100dcb8c
test edi, edi
mov edx, dword [ecx + 0xc]
je 0x100dc892
shr eax, 0x10
test al, 1
jne 0x100dc864
mov ecx, edi
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x18]
test dword [ecx + 0x80], eax
je 0x100dcb99
cmp edx, 0x100
jae 0x100dc87b
mov ebx, 1
mov ecx, edx
shl ebx, cl
or dword [esp + 0x7c], ebx
jmp 0x100dc87e
or ebx, 0xffffffff
test esi, esi
jne 0x100dc8e5
mov edx, dword [esp + 0x14]
cmp dword [edx + 8], esi
jne 0x100dc8dd
mov ebp, 0x800
jmp 0x100dc8dd
cmp dword [esp + 0x20], 1
mov eax, dword [ecx + 8]
jne 0x100dc8dd
mov ecx, eax
add ecx, 0x80000000
mov ebp, edx
adc ebp, 0
mov dword [esp + 0x44], ebp
jne 0x100dc8b4
cmp ecx, 0xffffffff
jbe 0x100dc8d9
test edx, edx
jl 0x100dcb99
jg 0x100dc8c6
test eax, eax
jb 0x100dcb99
test edx, edx
jg 0x100dcb99
jl 0x100dc8d9
cmp eax, 0xffffffff
ja 0x100dcb99
mov ebp, dword [esp + 0x24]
test esi, esi
je 0x100dc968
mov ecx, esi
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x18]
test dword [ecx + 0x84], eax
je 0x100dcb99
cmp esi, 9
jne 0x100dc90d
mov eax, 0x20000
or ebp, 0x11
jmp 0x100dc93a
cmp esi, 0xa
jne 0x100dc91c
mov eax, 0x20000
or ebp, 0x22
jmp 0x100dc93a
cmp esi, 0xb
jne 0x100dc92b
mov eax, 0x20000
or ebp, 0x44
jmp 0x100dc93a
test edi, edi
mov eax, 0x10000
je 0x100dc93a
or ebp, 0x4000
cmp edi, 0xe
jne 0x100dc94a
test eax, 0x20000
jne 0x100dcb99
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 4]
cmp ecx, 0x100
jae 0x100dc964
mov edx, 1
shl edx, cl
or dword [esp + 0x7c], edx
xor ebx, ebx
jmp 0x100dc96d
mov eax, 0x10000
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + 3]
cmp ecx, 0x40
ja case.0x100dc985.3
movzx edx, byte [ecx + 0x100dcfc8]
jmp dword [edx*4 + 0x100dcf9c]
or ebp, 0x8000
jmp 0x100dcb12
or ebp, 1
jmp 0x100dcb12
or ebp, 2
jmp 0x100dcb12
or ebp, 4
jmp 0x100dcb12
or ebp, 8
jmp 0x100dcb12
or ebp, 0x10
jmp 0x100dcb12
or ebp, 0x20
jmp 0x100dcb12
or ebp, 0x40
jmp 0x100dcb12
or ebp, 0x80
jmp 0x100dcb12
or ebp, 0x100
jmp 0x100dcb12
mov eax, dword [edi + 0xc]
test eax, eax
mov ecx, dword [edi + 8]
jl 0x100dcabd
jg 0x100dc9fd
test ecx, ecx
jb 0x100dcabd
test eax, eax
ja 0x100dcaa1
jb 0x100dca0c
cmp ecx, 0xf
ja 0x100dca16
mov eax, 0x7fc0000
jmp 0x100dcb12
test eax, eax
ja 0x100dcaa1
jb 0x100dca25
cmp ecx, 0x7f
ja 0x100dca2f
mov eax, 0x7f80000
jmp 0x100dcb12
test eax, eax
ja 0x100dcaa1
jb 0x100dca3d
cmp ecx, 0xff
ja 0x100dca47
mov eax, 0x7f00000
jmp 0x100dcb12
test eax, eax
ja 0x100dcaa1
jb 0x100dca55
cmp ecx, 0x7fff
ja 0x100dca5f
mov eax, 0x7e00000
jmp 0x100dcb12
test eax, eax
ja 0x100dcaa1
jb 0x100dca6d
cmp ecx, 0xffff
ja 0x100dca77
mov eax, 0x7c00000
jmp 0x100dcb12
test eax, eax
ja 0x100dcaa1
jb 0x100dca85
cmp ecx, 0x7fffffff
ja 0x100dca8f
mov eax, 0x7800000
jmp 0x100dcb12
test eax, eax
ja 0x100dcaa1
jb 0x100dca9a
cmp ecx, 0xffffffff
ja 0x100dcaa1
mov eax, 0x7000000
jmp 0x100dcb12
cmp eax, 0x7fffffff
ja 0x100dcab6
jb 0x100dcaaf
cmp ecx, 0xffffffff
ja 0x100dcab6
mov eax, 0x6000000
jmp 0x100dcb12
mov eax, 0x4000000
jmp 0x100dcb12
not ecx
add ecx, 1
not eax
adc eax, 0
test eax, eax
ja 0x100dcb06
jb 0x100dcad5
cmp ecx, 0x80
ja 0x100dcadc
mov eax, 0x2a80000
jmp 0x100dcb12
test eax, eax
ja 0x100dcb06
jb 0x100dcaea
cmp ecx, 0x8000
ja 0x100dcaf1
mov eax, 0x2a00000
jmp 0x100dcb12
test eax, eax
ja 0x100dcb06
jb 0x100dcaff
cmp ecx, 0x80000000
ja 0x100dcb06
mov eax, 0x2800000
jmp 0x100dcb12
mov eax, 0x2000000
jmp 0x100dcb12
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 0x100dc790
cmp dword [esp + 0x20], 1
jne 0x100dcbf9
test byte [esp + 0x1c], 0x10
je 0x100dcc17
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 0x100dcb4f
sub ebp, 1
cmp ebp, edx
mov dword [esp + 0x88], ebp
jbe 0x100dcb4f
mov eax, ebp
shl eax, 4
add eax, dword [esp + 0x84]
test byte [eax], 7
jne case.default.0x100dc7b1
sub ebp, 1
sub eax, 0x10
cmp ebp, edx
ja 0x100dcbd1
mov dword [esp + 0x88], ebp
jmp 0x100dcb4f
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0x68
ret
test byte [esp + 0x1c], 2
je 0x100dcc17
test dword [esp + 0x7c], 0xffffff00
je 0x100dcc17
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 + 0x10160c38]
mov ecx, eax
shr ecx, 8
shr eax, 0x12
and ecx, 0x3ff
lea ecx, [ecx*8 + 0x10165c58]
and eax, 0xf
lea eax, [ecx + eax*8]
cmp ecx, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x2c], eax
je 0x100dce43
mov edx, ecx
add edx, 2
mov byte [esp + 0x13], 0
mov dword [esp + 0x14], edx
jmp 0x100dcc60
mov eax, dword [esp + 0x18]
movzx eax, byte [eax]
mov ecx, eax
shr ecx, 3
and ecx, dword [esp + 0x20]
test cl, 3
je 0x100dcdfe
mov edx, dword [esp + 0x88]
mov ebx, eax
and ebx, 7
xor ebp, ebp
cmp ebx, edx
mov byte [esp + 0x7c], 0
jne 0x100dcd1c
test edx, edx
jbe 0x100dcde9
lea esi, [esp + 0x4f]
mov edx, dword [esp + 0x14]
movzx eax, byte [edx + ebp]
mov ecx, dword [esi - 7]
mov edx, dword [eax*8 + 0x101654c8]
test ecx, edx
lea eax, [eax*8 + 0x101654c8]
jne 0x100dccdc
test ecx, 0x7fc0000
je 0x100dcde9
test edx, 0x7fc0000
je 0x100dcde9
mov byte [esp + 0x7c], 1
jmp 0x100dcd08
movzx edx, word [esi - 3]
test edx, edx
je 0x100dccf0
movzx edi, word [eax + 4]
test edx, edi
je 0x100dcde9
test ecx, 0x7fff
je 0x100dcd08
movzx eax, byte [eax + 7]
test eax, eax
je 0x100dcd08
test byte [esi], al
je 0x100dcde9
add ebp, 1
add esi, 8
cmp ebp, dword [esp + 0x88]
jb 0x100dcca0
jmp 0x100dcde9
shr eax, 5
mov ecx, ebx
sub ecx, eax
cmp ecx, edx
jne 0x100dcde9
xor ecx, ecx
xor ebp, ebp
test edx, edx
jbe 0x100dcde9
lea edi, [esp + 0x48]
mov dword [esp + 0x30], edi
nop
cmp ecx, ebx
jae 0x100dcde9
mov edx, dword [esp + 0x14]
movzx eax, byte [ecx + edx]
test dword [eax*8 + 0x101654c8], 0x80000000
lea eax, [eax*8 + 0x101654c8]
je 0x100dcd87
add ecx, 1
cmp ecx, ebx
jae 0x100dcde9
mov eax, dword [esp + 0x14]
movzx eax, byte [ecx + eax]
test dword [eax*8 + 0x101654c8], 0x80000000
lea eax, [eax*8 + 0x101654c8]
jne 0x100dcd64
mov esi, dword [edi]
mov edx, dword [eax]
test esi, edx
jne 0x100dcda6
test esi, 0x7fc0000
je 0x100dcde9
test edx, 0x7fc0000
je 0x100dcde9
mov byte [esp + 0x7c], 1
jmp 0x100dcdcf
movzx edx, word [edi + 4]
test edx, edx
je 0x100dcdba
movzx edi, word [eax + 4]
test edx, edi
je 0x100dcde9
mov edi, dword [esp + 0x30]
test esi, 0x7fff
je 0x100dcdcf
movzx eax, byte [eax + 7]
test eax, eax
je 0x100dcdcf
test byte [edi + 7], al
je 0x100dcde9
add ebp, 1
add edi, 8
add ecx, 1
cmp ebp, dword [esp + 0x88]
mov dword [esp + 0x30], edi
jb 0x100dcd40
cmp ebp, dword [esp + 0x88]
jne 0x100dcdfe
mov al, byte [esp + 0x7c]
test al, al
je 0x100dce2c
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 0x100dcc60
cmp byte [esp + 0x13], 0
je 0x100dce36
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 0x100dce43
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 0x100dce61
test edi, 0x9c0000
je 0x100dcf7f
mov eax, dword [esp + 0x38]
mov eax, dword [eax*4 + 0x10160c30]
mov edx, eax
shr edx, 0x14
test dl, 1
je 0x100dcf68
test ecx, ecx
je 0x100dcead
and ecx, 0xf8
cmp cl, 0x90
je 0x100dce96
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 0x100dcead
pop edi
pop esi
pop ebp
mov eax, 0x22
pop ebx
add esp, 0x68
ret
test edi, 0x800000
je 0x100dcecc
mov edx, eax
shr edx, 0x19
test dl, 1
jne 0x100dcecc
pop edi
pop esi
pop ebp
mov eax, 0x23
pop ebx
add esp, 0x68
ret
test edi, 0x100000
mov esi, dword [esp + 0x28]
je 0x100dcf0f
test esi, esi
je 0x100dcf02
movzx ecx, byte [esi + 3]
test ecx, ecx
je 0x100dcf0f
mov edx, eax
shr edx, 0x1c
test dl, 1
je 0x100dcef3
cmp ecx, 4
jne 0x100dcf02
mov edx, eax
shr edx, 0x1d
test dl, 1
je 0x100dcf0f
cmp ecx, 8
je 0x100dcf0f
pop edi
pop esi
pop ebp
mov eax, 0x24
pop ebx
add esp, 0x68
ret
test edi, 0xc0000
je 0x100dcf7f
test esi, esi
jne 0x100dcf5b
test edi, 0x40000
je 0x100dcf54
mov ecx, eax
shr ecx, 0x1a
test cl, 1
je 0x100dcf5b
test eax, 0x30000000
je 0x100dcf7f
mov eax, dword [0x10166fa4]
mov ecx, dword [esp + 0x84]
cmp dword [ecx], eax
je 0x100dcf7f
cmp dword [ecx + 0x10], eax
je 0x100dcf7f
pop edi
lea eax, [esi + 0x25]
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
shr eax, 0x1b
test al, 1
jne 0x100dcf7f
pop edi
pop esi
pop ebp
mov eax, 0x25
pop ebx
add esp, 0x68
ret
test edi, 0x9c0000
jne 0x100dce36
cmp dword [esp + 0x3c], 0
je 0x100dce36
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 0x100de855
mov dword [esp + 4], eax
jmp 0x100dc600
mov eax, 5
ret