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

Disassembly:
sub esp, 0x7c
mov cl, byte [0x10c69041]
push ebx
push ebp
mov ebp, dword [esp + 0x88]
mov byte [esp + 0xc], cl
xor ecx, ecx
mov dword [ebp + 0x18], ecx
xor edx, edx
mov dword [ebp + 0x1c], edx
mov byte [ebp + 0x64], 1
lea ebx, [ebp + 0x18]
push esi
xor esi, esi
mov dword [ebx + 8], esi
mov edx, dword [eax]
mov dword [ebp], edx
mov ecx, dword [eax + 4]
mov dword [ebp + 4], ecx
mov edx, dword [eax + 8]
mov dword [ebp + 8], edx
mov ecx, dword [eax]
mov dword [ebp + 0x24], ecx
mov edx, dword [eax + 4]
mov dword [ebp + 0x28], edx
mov eax, dword [eax + 8]
mov dword [ebp + 0x2c], eax
push edi
lea eax, [esp + 0x18]
mov byte [esp + 0x13], 0
call fcn.10205630
mov edi, edi
cmp byte [esp + 0x13], 0
je 0x10205a57
mov cl, byte [esp + 0x14]
test cl, cl
jne 0x102059f5
cmp dword [ebp + 4], 0
jne 0x10205a57
mov eax, dword [ebp + 0x3c]
cmp dword [eax + 0xc], 0
je 0x10205a09
mov edi, edi
mov eax, dword [eax + 0xc]
cmp dword [eax + 0xc], 0
jne 0x10205a00
mov edi, dword [eax + 4]
and edi, 0x1f
test cl, cl
je 0x10205af4
mov esi, dword [esp + 0x54]
add dword [eax + 0x10], 1
test esi, esi
mov dword [esp + 0x54], eax
je 0x10205a46
add dword [esi + 0x10], 0xffffffff
cmp dword [esi + 0x10], 0
jg 0x10205a46
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x10205a3d
call fcn.100a5ba0
push esi
call fcn.102f353f
add esp, 4
mov dword [esp + 0x48], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], edi
jmp 0x10205af4
mov ecx, dword [ebp + 4]
test ecx, ecx
jne 0x10205a65
mov edi, 0xa
jmp 0x10205ac2
mov edx, dword [ecx]
mov eax, dword [edx + 0xa0]
call eax
test al, al
je 0x10205a8e
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + 4]
mov eax, dword [edx]
xor ecx, ecx
and eax, 0x4000000
cmp eax, 0x4000000
setne cl
mov edi, ecx
jmp 0x10205ac2
mov eax, dword [ebp + 4]
test byte [eax + 0x1b], 2
jne 0x10205a9e
mov edi, 0xa
jmp 0x10205ac2
mov eax, dword [eax + 0x20]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 4]
jb 0x10205ab0
mov edi, 0xa
jmp 0x10205ac2
mov edx, dword [eax + 8]
movzx eax, word [edx + ecx*2]
push eax
call fcn.1027b3f0
add esp, 4
mov edi, eax
mov eax, dword [ebp + 0x3c]
test byte [eax + 8], 1
je 0x10205aec
cmp edi, 0xe
je 0x10205aec
cmp edi, 0xb
je 0x10205aec
cmp edi, 0xf
je 0x10205aec
cmp edi, 0xc
je 0x10205aec
cmp edi, 0x10
je 0x10205aec
mov edi, dword [eax + 4]
and edi, 0x1f
jmp 0x10205af4
cmp edi, 0x11
jne 0x10205af4
mov edi, dword [ebp + 0x38]
cmp edi, 0x12
ja case.0x10205b04.3
movzx eax, byte [edi + 0x10206238]
jmp dword [eax*4 + 0x10206218]
mov eax, edi
mov ecx, ebp
call fcn.102056d0
jmp case.0x10205b04.3
mov eax, dword [ebp + 0x38]
lea ecx, [eax - 1]
cmp ecx, 0x11
ja case.0x10205b2f.11
movzx ecx, byte [ecx + 0x10206258]
jmp dword [ecx*4 + 0x1020624c]
cmp eax, 2
jne 0x10205beb
cmp dword [ebp + 0x34], 0
je case.0x10205b2f.11
jmp 0x10205beb
mov eax, dword [ebp + 0x30]
cmp eax, 2
jne 0x10205b8d
cmp dword [ebp + 0x34], 0
je case.0x10205b2f.11
mov esi, ebp
mov dword [ebp + 0x40], eax
call fcn.10202380
mov edx, dword [ebp + 0x3c]
test byte [edx + 4], 0x1f
je case.0x10205b2f.11
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x2c]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edx
mov dword [ebp + 0x40], 1
jmp 0x10205bed
cmp eax, 5
jne 0x10205bbf
mov esi, ebp
mov dword [ebp + 0x40], eax
call fcn.10202380
mov eax, dword [ebp + 0x3c]
test byte [eax + 4], 0x1f
je case.0x10205b2f.11
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x2c]
mov dword [ebx], ecx
mov dword [ebx + 4], edx
mov dword [ebx + 8], eax
mov dword [ebp + 0x40], 1
jmp 0x10205bed
cmp dword [ebp + 0x34], 0
je case.0x10205b2f.11
mov ecx, dword [ebp + 0x3c]
mov edx, dword [ecx + 4]
and dl, 0x1f
cmp dl, 1
jne 0x10205beb
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x2c]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edx
mov dword [ebp + 0x40], 1
mov esi, ebp
call fcn.10202380
mov eax, dword [ebp]
mov dword [ebx], eax
xor eax, eax
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x40], eax
jmp 0x10205eb9
mov eax, dword [ebp + 0x38]
cmp eax, 0x12
ja case.0x10205c16.1
movzx eax, byte [eax + 0x10206278]
jmp dword [eax*4 + 0x1020626c]
mov eax, dword [ebp + 0x30]
cmp eax, 2
jne 0x10205c47
cmp dword [ebp + 0x34], 0
jne case.0x10205c16.0
mov ecx, dword [ebp + 0x3c]
test byte [ecx + 4], 0x1f
jne case.0x10205c16.0
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x2c]
mov dword [ebx], edx
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
jmp case.0x10205c16.0
cmp eax, 5
je case.0x10205c16.0
cmp dword [ebp + 0x34], 0
jne case.0x10205c16.1
mov edx, dword [ebp + 0x3c]
test byte [edx + 4], 0x1f
jne case.0x10205c16.0
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x2c]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edx
mov esi, ebp
call fcn.10202380
mov eax, dword [ebp]
mov dword [ebx], eax
mov eax, 1
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x34], edi
mov dword [ebp + 0x40], eax
jmp 0x10205eb9
mov edx, dword [ebp + 0x34]
cmp edx, 0xd
je case.0x10205b04.5
mov ecx, dword [ebp + 0x38]
lea eax, [ecx - 1]
cmp eax, 0x11
ja case.0x10205cad.2
movzx eax, byte [eax + 0x1020629c]
jmp dword [eax*4 + 0x1020628c]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x2c]
mov dword [ebx], ecx
mov dword [ebx + 4], edx
jmp 0x10205d72
cmp dword [ebp + 0x30], 2
je case.0x10205cad.2
mov eax, dword [ebp + 0x30]
cmp eax, 2
jne 0x10205d0b
cmp edx, 1
jne case.0x10205cad.2
mov esi, ebp
call fcn.10202380
cmp dword [ebp + 0x38], 4
lea eax, [ebp + 0x58]
je 0x10205cf5
lea eax, [ebp + 0x24]
mov ecx, dword [eax]
mov dword [ebx], ecx
mov edx, dword [eax + 4]
mov dword [ebx + 4], edx
mov eax, dword [eax + 8]
mov dword [ebp + 0x40], 1
jmp 0x10205d74
cmp eax, 5
jne 0x10205d4e
mov esi, ebp
call fcn.10202380
cmp dword [ebp + 0x34], 1
je 0x10205d2b
mov ecx, dword [ebp + 0x3c]
mov edx, dword [ecx + 4]
and dl, 0x1f
cmp dl, 1
jne case.0x10205cad.2
cmp dword [ebp + 0x38], 4
lea eax, [ebp + 0x58]
je 0x10205cf5
mov ecx, dword [ebp + 0x24]
lea eax, [ebp + 0x24]
mov dword [ebx], ecx
mov edx, dword [eax + 4]
mov dword [ebx + 4], edx
mov eax, dword [eax + 8]
mov dword [ebp + 0x40], 1
jmp 0x10205d74
cmp edx, 1
jne case.0x10205cad.2
cmp ecx, 4
lea eax, [ebp + 0x58]
je 0x10205d5e
lea eax, [ebp + 0x24]
mov ecx, dword [eax]
mov dword [ebx], ecx
mov edx, dword [eax + 4]
mov dword [ebx + 4], edx
mov eax, dword [eax + 8]
mov dword [ebp + 0x40], 1
mov esi, ebp
mov dword [ebx + 8], eax
call fcn.10202380
mov dword [ebp + 0x40], 2
cmp dword [ebp + 0x40], 0xa
mov ecx, dword [ebp]
mov edx, dword [ebp + 4]
mov eax, dword [ebp + 8]
mov dword [ebx], ecx
mov dword [ebx + 4], edx
mov dword [ebx + 8], eax
mov dword [ebp + 0x30], 2
jne case.0x10205b04.3
mov dword [ebp + 0x40], 0
jmp case.0x10205b04.3
mov eax, dword [ebp + 0x38]
cmp eax, 0x12
mov edi, 5
ja case.0x10205dc9.5
movzx ecx, byte [eax + 0x102062c4]
jmp dword [ecx*4 + 0x102062b0]
mov edx, dword [ebp + 0x3c]
test byte [edx + 4], 0x1f
jne case.0x10205dc9.5
jmp 0x10205e4a
cmp dword [ebp + 0x30], edi
je case.0x10205dc9.5
mov eax, dword [ebp + 0x30]
cmp eax, edi
je 0x10205e2b
cmp eax, 2
jne 0x10205e04
cmp dword [ebp + 0x34], 1
je 0x10205e2b
mov ecx, dword [ebp + 0x3c]
mov edx, dword [ecx + 4]
and dl, 0x1f
cmp dl, 1
je 0x10205e2b
cmp eax, eax
je 0x10205e18
cmp dword [ebp + 0x34], 0
jne 0x10205e18
mov eax, dword [ebp + 0x3c]
mov ecx, dword [eax + 4]
and cl, 0x1f
cmp cl, 1
je 0x10205e2b
cmp dword [ebp + 0x40], 0xa
jne case.0x10205dc9.1
xor edx, edx
cmp dword [ebp + 0x34], edx
setne dl
mov dword [ebp + 0x40], edx
jmp case.0x10205dc9.1
mov esi, ebp
call fcn.10202380
mov dword [ebp + 0x40], 1
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x2c]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edx
mov esi, ebp
call fcn.10202380
cmp dword [ebp + 0x40], 0xa
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 8]
mov dword [ebx], eax
mov eax, edi
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edx
mov dword [ebp + 0x30], eax
jne case.0x10205b04.3
mov dword [ebp + 0x40], eax
jmp case.0x10205b04.3
mov eax, dword [ebp + 0x38]
cmp eax, 2
jne 0x10205e81
mov edi, eax
mov dword [ebp + 0x30], edi
jmp 0x10205eb4
cmp eax, 4
je case.0x10205b04.3
cmp byte [ebp + 0x64], 0
mov eax, ebx
jne 0x10205e91
lea eax, [ebp + 0x24]
mov ecx, dword [eax]
mov dword [ebp + 0x58], ecx
mov edx, dword [eax + 4]
mov dword [ebp + 0x5c], edx
mov eax, dword [eax + 8]
mov dword [ebp + 0x60], eax
jmp case.0x10205b04.3
mov ecx, dword [ebx + 8]
cmp ecx, dword [ebp + 0x2c]
jne case.0x10205b04.3
mov edx, dword [ebx + 4]
cmp edx, dword [ebp + 0x28]
jne case.0x10205b04.3
mov eax, dword [ebp]
mov dword [ebx], eax
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 8]
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edx
cmp byte [esp + 0x13], 0
je 0x10205ee0
mov eax, dword [ebx + 8]
cmp eax, dword [ebp + 8]
jne 0x10205ee0
mov ecx, dword [ebx + 4]
cmp ecx, dword [ebp + 4]
je 0x1020604c
lea eax, [edi - 3]
cmp eax, 0xf
ja case.0x10205f14.0
movzx edx, byte [eax + 0x102062e8]
jmp dword [edx*4 + 0x102062d8]
cmp dword [ebp + 0x38], 2
je case.0x10205eef.11
mov dword [ebp + 0x38], 4
jmp case.0x10205eef.11
mov eax, dword [ebp + 0x38]
cmp eax, 0xd
ja case.0x10205f14.3
movzx eax, byte [eax + 0x10206300]
jmp dword [eax*4 + 0x102062f8]
mov dword [ebp + 0x38], 0xa
jmp case.0x10205eef.11
mov dword [ebp + 0x38], edi
cmp byte [ebp + 0x64], 0
mov ecx, dword [ebp]
mov edx, dword [ebp + 4]
mov eax, dword [ebp + 8]
mov dword [ebp + 0x24], ecx
mov dword [ebp + 0x28], edx
mov dword [ebp + 0x2c], eax
je 0x10205f65
cmp edi, 0xe
je 0x10205f65
cmp edi, 0xb
je 0x10205f65
cmp edi, 0xf
je 0x10205f65
cmp edi, 0xc
je 0x10205f65
cmp edi, 0x10
je 0x10205f65
mov dword [ebp + 0xc], ecx
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], eax
mov byte [ebp + 0x64], 0
mov eax, dword [ebp + 4]
xor esi, esi
cmp eax, esi
mov byte [ebp + 0x44], 1
je 0x10205fa9
test byte [eax + 0x1b], 2
je 0x10205f92
add dword [ebp + 8], 1
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x20]
cmp ecx, dword [edx + 4]
jb 0x10205fa9
push esi
push 1
push ebp
push eax
mov eax, dword [ebp]
push eax
jmp 0x10205f9b
mov ecx, dword [ebp]
push esi
push 1
push ebp
push eax
push ecx
call fcn.10201bb0
mov dword [ebp + 8], esi
mov dword [ebp + 4], eax
add esp, 0x14
cmp byte [ebp + 0x64], 0
mov byte [ebp + 0x44], 0
je 0x10205ff5
cmp edi, 0xe
je 0x10205fcc
cmp edi, 0xb
je 0x10205fcc
cmp edi, 0xf
je 0x10205fcc
cmp edi, 0xc
je 0x10205fcc
cmp edi, 0x10
jne 0x10205ff5
xor eax, eax
xor ecx, ecx
mov dword [ebx], eax
mov eax, dword [ebp + 4]
xor edx, edx
mov dword [ebx + 4], ecx
mov ecx, dword [ebp + 8]
mov dword [ebx + 8], edx
mov edx, dword [ebp]
mov dword [ebp + 0x24], edx
mov dword [ebp + 0xc], edx
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x2c], ecx
mov dword [ebp + 0x14], ecx
cmp byte [esp + 0x13], 0
jne 0x102059e7
mov eax, dword [esp + 0x94]
mov ecx, ebp
call fcn.10201b90
test al, al
jne 0x1020601c
cmp dword [ebp + 4], 0
jne 0x102059e0
cmp byte [ebp + 0x64], 0
jne 0x1020611b
push ebp
lea esi, [esp + 0x1c]
call fcn.10206380
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x2c]
mov dword [ebp + 0x48], edx
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], ecx
mov byte [esp + 0x13], 1
jmp 0x102059e0
cmp byte [ebp + 0x54], 0
jne 0x1020608b
mov edx, dword [ebp + 0x48]
mov eax, dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x50]
mov dword [ebx], edx
mov dword [ebx + 4], eax
mov eax, dword [ebp + 0x30]
cmp eax, 5
mov dword [ebx + 8], ecx
ja case.0x1020606b.3
jmp dword [eax*4 + 0x10206310]
mov dword [ebp + 0x40], eax
jmp case.0x1020606b.3
mov edx, dword [ebp + 0x34]
neg edx
sbb edx, edx
and edx, 2
mov dword [ebp + 0x40], edx
mov esi, ebp
call fcn.10202380
lea edi, [ebp + 0x30]
lea eax, [esp + 0x48]
call fcn.100a68f0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [ebp], eax
mov eax, dword [esp + 0x24]
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x28]
mov dword [ebp + 8], edx
mov edx, dword [esp + 0x2c]
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x30]
mov dword [ebp + 0x10], ecx
mov ecx, dword [esp + 0x34]
mov dword [ebp + 0x14], edx
mov edx, dword [esp + 0x38]
mov dword [ebx], eax
mov eax, dword [esp + 0x3c]
mov dword [ebx + 4], ecx
mov ecx, dword [esp + 0x40]
mov dword [ebx + 8], edx
mov edx, dword [esp + 0x44]
mov dword [ebp + 0x24], eax
mov al, byte [esp + 0x5c]
mov dword [ebp + 0x28], ecx
mov cl, byte [esp + 0x6c]
mov dword [ebp + 0x2c], edx
mov edx, dword [esp + 0x70]
mov dword [ebp + 0x58], edx
mov dl, byte [esp + 0x7c]
mov byte [ebp + 0x44], al
mov eax, dword [esp + 0x74]
mov byte [ebp + 0x54], cl
mov ecx, dword [esp + 0x78]
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x60], ecx
mov byte [ebp + 0x64], dl
mov dword [ebp + 0x40], 0xa
cmp byte [esp + 0x98], 0
jne 0x102061da
mov ecx, dword [ebp + 0x68]
test ecx, ecx
mov dl, 0x80
mov byte [esp + 0x14], dl
mov byte [esp + 0x13], 0
je 0x1020615d
jmp 0x10206140
mov al, byte [ecx]
cmp al, byte [esp + 0x13]
jbe 0x1020614c
mov byte [esp + 0x13], al
cmp al, dl
jae 0x10206156
mov byte [esp + 0x14], al
mov dl, al
mov ecx, dword [ecx + 0x10]
test ecx, ecx
jne 0x10206140
movzx eax, dl
and eax, 0x80000001
jns 0x1020616c
dec eax
or eax, 0xfffffffe
inc eax
jne 0x10206175
add dl, 1
mov byte [esp + 0x14], dl
mov ebx, dword [ebp + 0x70]
mov cl, byte [esp + 0x13]
sub ebx, 1
cmp cl, dl
jb 0x102061da
mov esi, dword [ebp + 0x68]
xor edi, edi
test ebx, ebx
jle 0x102061cf
cmp edi, ebx
jge 0x102061a2
test esi, esi
je 0x102061a2
cmp byte [esi], cl
jae 0x102061a2
mov esi, dword [esi + 0x10]
add edi, 1
cmp edi, ebx
jl 0x10206190
cmp edi, ebx
mov eax, edi
jg 0x102061ba
test esi, esi
je 0x102061ba
cmp byte [esi], cl
jb 0x102061ba
mov esi, dword [esi + 0x10]
add edi, 1
cmp edi, ebx
jle 0x102061a8
lea edx, [edi - 1]
push ebp
call fcn.10206430
cmp edi, ebx
mov cl, byte [esp + 0x13]
jl 0x10206190
mov dl, byte [esp + 0x14]
add cl, 0xff
cmp cl, dl
mov byte [esp + 0x13], cl
jae 0x10206183
mov esi, dword [esp + 0x54]
xor eax, eax
xor ecx, ecx
xor edx, edx
test esi, esi
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], edx
je 0x1020620b
add dword [esi + 0x10], 0xffffffff
cmp dword [esi + 0x10], edx
jg 0x1020620b
lea ecx, [esi + 0xc]
call fcn.100a6870
push esi
call fcn.102f353f
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret 0xc