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

Disassembly:
push 0xffffffffffffffff
push 0x1013b9c6
mov eax, dword fs:[0]
push eax
sub esp, 0x84
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1017a974]
xor eax, esp
push eax
lea eax, [esp + 0x98]
mov dword fs:[0], eax
xor edi, edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0xa0], edi
cmp dword [esp + 0xac], edi
jne 0x1001ebfa
lea eax, [esp + 0x6c]
mov dword [esp + 0xac], eax
mov ecx, dword [edx]
mov ebx, dword [esp + 0xa8]
mov eax, dword [edx + 4]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], eax
mov ecx, ebx
and ecx, 0x20
mov eax, ecx
neg eax
sbb eax, eax
and eax, 0xffef0100
add eax, 0x10ffff
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], eax
mov byte [esp + 0xa0], 1
mov ebp, dword [edx]
mov esi, dword [edx + 4]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], esi
cmp ecx, edi
je 0x1001ecf9
push 0x1c
call fcn.100d59cb
add esp, 4
cmp eax, edi
je 0x1001ec8d
mov dword [eax + 0x18], 0xf
mov dword [eax + 0x14], edi
mov byte [eax + 4], 0
mov ebp, eax
jmp 0x1001ec8f
xor ebp, ebp
mov ebx, ebp
lea edi, [esp + 0x3c]
call fcn.1001eb50
mov edi, dword [esp + 0xac]
mov esi, dword [edi + 0xc]
xor ebx, ebx
cmp esi, ebx
je 0x1001ecd2
cmp dword [esi + 0x18], 0x10
jb 0x1001ecbc
mov eax, dword [esi + 4]
push eax
call fcn.100d59a5
add esp, 4
mov dword [esi + 0x18], 0xf
mov dword [esi + 0x14], ebx
push esi
mov byte [esi + 4], bl
call fcn.100d59a5
add esp, 4
mov dword [edi + 0xc], ebp
cmp dword [ebp + 0x18], 0x10
jb 0x1001ece0
mov eax, dword [ebp + 4]
jmp 0x1001ece3
lea eax, [ebp + 4]
mov esi, dword [ebp + 0x14]
mov ebx, dword [esp + 0xa8]
mov ebp, eax
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], esi
xor edi, edi
test bl, 2
je 0x1001ed98
cmp esi, edi
jle 0x1001f3fd
lea ebx, [ebx]
movzx eax, byte [ebp]
cmp eax, 0x80
jl 0x1001ed44
cmp esi, 1
jle 0x1001f368
cmp eax, 0xe0
jl 0x1001ed44
cmp esi, 2
jle 0x1001f368
cmp eax, 0xf0
jl 0x1001ed44
cmp esi, 3
jle 0x1001f368
mov esi, ebp
lea edi, [esp + 0x1c]
call fcn.1002e510
mov ecx, dword [esp + 0x1c]
cmp eax, 1
jne 0x1001ed64
cmp ecx, 0xfffd
je 0x1001f368
sub dword [esp + 0x40], eax
add ebp, eax
test eax, eax
jl 0x1001f3b4
lea edx, [esp + 0x7c]
push edx
call fcn.1001bf00
test al, al
je 0x1001f3b4
cmp dword [esp + 0x40], 0
jle 0x1001f3fd
mov esi, dword [esp + 0x40]
jmp 0x1001ed10
cmp esi, edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
jle 0x1001f3fd
mov al, byte [ebp]
movsx ecx, al
add ecx, 0xffffffdc
mov edx, 0x200
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
cmp ecx, 0x58
ja case.0x1001edce.37
movzx ecx, byte [ecx + 0x1001f474]
jmp dword [ecx*4 + 0x1001f440]
test dword [esp + 0x7c], edx
je 0x1001ee09
cmp esi, 2
jl 0x1001ee09
cmp byte [ebp + 1], 0x3f
jne 0x1001ee09
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x80]
push eax
call fcn.1001e7f0
test al, al
je 0x1001f3b4
mov ebp, dword [esp + 0x3c]
jmp 0x1001f342
xor eax, eax
lea ecx, [esp + 0x64]
push ecx
lea edi, [esp + 0x80]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
call fcn.1001c500
test al, al
je 0x1001f3b4
inc ebp
dec esi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], esi
jmp 0x1001f342
lea edx, [esp + 0x7c]
push edx
call fcn.1001c660
jmp 0x1001ee24
lea ebx, [esp + 0x7c]
call fcn.1001c820
jmp 0x1001ee24
test byte [esp + 0x7c], 0x10
lea esi, [esp + 0x7c]
je 0x1001ee61
push 0x12
jmp 0x1001ee63
push 0xe
call fcn.1001c290
test al, al
je 0x1001f3b4
inc ebp
dec dword [esp + 0x40]
mov dword [esp + 0x3c], ebp
jmp 0x1001f342
mov eax, dword [esp + 0x7c]
lea esi, [esp + 0x7c]
test al, 0x10
je 0x1001eea5
mov edi, eax
or eax, 0x8000
push 0x13
mov dword [esp + 0x80], eax
call fcn.1001c290
mov dword [esp + 0x7c], edi
jmp 0x1001ee68
push 0xf
jmp 0x1001ee63
lea ecx, [esp + 0x7c]
call fcn.1001c180
jmp 0x1001ee24
mov eax, dword [esp + 0xac]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x84]
push edx
lea ecx, [esp + 0x48]
call fcn.1001e450
test al, al
lea eax, [esp + 0x7c]
je 0x1001f37e
push eax
mov eax, dword [esp + 0x24]
jmp 0x1001f241
mov eax, 7
jmp 0x1001eefe
mov eax, 8
jmp 0x1001eefe
mov eax, 9
mov edi, ebp
mov dword [esp + 0x60], esi
inc ebp
dec esi
mov dword [esp + 0x5c], edi
mov byte [esp + 0x18], 0
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], esi
test dword [esp + 0x7c], edx
je 0x1001ef41
test esi, esi
jle 0x1001ef36
cmp byte [ebp], 0x3f
jne 0x1001ef36
inc ebp
dec esi
mov byte [esp + 0x18], 1
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], esi
cmp dword [esp + 0x50], 0
jg 0x1001f39b
mov ecx, dword [esp + 0x18]
push ecx
mov esi, ebp
push eax
lea edx, [esp + 0x84]
sub esi, edi
push edx
lea ecx, [esp + 0x68]
mov dword [esp + 0x6c], esi
call fcn.1001c2f0
test al, al
je 0x1001f3b4
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], esi
jmp 0x1001f342
lea eax, [esp + 0x24]
push eax
lea ebx, [esp + 0x2c]
lea edi, [esp + 0x40]
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], esi
call fcn.1001d6c0
add esp, 4
test al, al
jne 0x1001efbf
lea ecx, [esp + 0x7c]
push ecx
mov ecx, 0x7b
call fcn.1001bf00
test al, al
je 0x1001f3b4
mov ebp, dword [esp + 0x3c]
inc ebp
dec dword [esp + 0x40]
mov dword [esp + 0x3c], ebp
jmp 0x1001f342
mov ebp, dword [esp + 0x3c]
xor ebx, ebx
test dword [esp + 0x7c], 0x200
mov byte [esp + 0x1c], bl
je 0x1001effc
cmp dword [esp + 0x40], ebx
jle 0x1001eff2
cmp byte [ebp], 0x3f
jne 0x1001eff2
mov eax, 1
add ebp, eax
sub dword [esp + 0x40], eax
mov byte [esp + 0x1c], al
mov dword [esp + 0x3c], ebp
cmp dword [esp + 0x50], ebx
jg 0x1001f3d2
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x54]
push edx
push eax
mov esi, ebp
push ecx
sub esi, edi
lea ecx, [esp + 0x60]
lea eax, [esp + 0x88]
mov dword [esp + 0x64], esi
call fcn.1001c3f0
test al, al
je 0x1001f3eb
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], esi
jmp 0x1001f342
mov ebx, dword [esp + 0x7c]
test ebx, 0x100
je 0x1001f088
cmp esi, 2
jl 0x1001f088
mov al, byte [ebp + 1]
cmp al, 0x62
je 0x1001f05a
cmp al, 0x42
jne 0x1001f088
cmp al, 0x62
sete dl
movzx eax, dl
push eax
lea eax, [esp + 0x80]
call fcn.1001c120
test al, al
je 0x1001f3b4
add ebp, 2
sub esi, 2
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], esi
jmp 0x1001f342
test edx, ebx
je 0x1001f168
cmp esi, 2
jl 0x1001f200
mov al, byte [ebp + 1]
cmp al, 0x41
jne 0x1001f0c7
push 0x12
lea esi, [esp + 0x80]
call fcn.1001c290
test al, al
je 0x1001f3b4
add ebp, 2
sub dword [esp + 0x40], 2
mov dword [esp + 0x3c], ebp
jmp 0x1001f342
cmp al, 0x7a
jne 0x1001f0cf
push 0x13
jmp 0x1001f0a2
cmp al, 0x43
jne 0x1001f0d7
push 0xd
jmp 0x1001f0a2
cmp al, 0x51
jne 0x1001f164
mov eax, dword [esp + 0x40]
sub eax, 2
add ebp, 2
cmp eax, edi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], eax
jle 0x1001f342
mov esi, dword [esp + 0xac]
cmp eax, 2
jl 0x1001f111
cmp byte [ebp], 0x5c
jne 0x1001f111
cmp byte [ebp + 1], 0x45
je 0x1001f151
push esi
lea ebx, [esp + 0x40]
lea eax, [esp + 0x30]
call fcn.1001d760
add esp, 4
test eax, eax
jl 0x1001f3b4
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x30]
call fcn.1001bf00
test al, al
je 0x1001f3b4
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
test eax, eax
jg 0x1001f100
jmp 0x1001f342
add ebp, 2
sub eax, 2
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], eax
jmp 0x1001f342
mov esi, dword [esp + 0x40]
cmp esi, 2
jl 0x1001f200
mov al, byte [ebp + 1]
cmp al, 0x70
je 0x1001f180
cmp al, 0x50
jne 0x1001f200
push 0x18
call fcn.100d59cb
add esp, 4
cmp eax, edi
je 0x1001f19f
mov edx, ebx
and edx, 0xfffffffe
push edx
push 0x14
call fcn.1000da40
mov ebp, eax
jmp 0x1001f1a1
xor ebp, ebp
push 0x2c
call fcn.100d59cb
add esp, 4
mov dword [esp + 0x38], eax
mov byte [esp + 0xa0], 2
cmp eax, edi
je 0x1001f1c4
mov esi, eax
call fcn.1000f8d0
jmp 0x1001f1c6
xor eax, eax
mov ecx, dword [esp + 0xac]
push ecx
push eax
mov byte [esp + 0xa8], 1
mov dword [ebp + 0x14], eax
push ebx
lea eax, [esp + 0x48]
call fcn.1001e0e0
add esp, 0xc
sub eax, edi
je 0x1001f23a
sub eax, 1
je 0x1001f3f4
sub eax, 1
jne 0x1001f200
mov ecx, ebp
call fcn.1000de70
test bl, bl
jns 0x1001f2a4
lea esi, [esp + 0x3c]
call fcn.1001e080
mov ebp, eax
cmp ebp, edi
je 0x1001f2a4
push 0x18
call fcn.100d59cb
add esp, 4
cmp eax, edi
je 0x1001f257
mov ecx, ebx
and ecx, 0xfffffffe
push ecx
push 0x14
call fcn.1000da40
mov edi, eax
jmp 0x1001f259
lea edx, [esp + 0x7c]
push edx
mov eax, ebp
call fcn.1001bb70
test al, al
je 0x1001f3b4
mov ebp, dword [esp + 0x3c]
jmp 0x1001f342
xor edi, edi
push 0x2c
call fcn.100d59cb
add esp, 4
mov dword [esp + 0x38], eax
mov byte [esp + 0xa0], 3
test eax, eax
je 0x1001f27c
mov esi, eax
call fcn.1000f8d0
jmp 0x1001f27e
xor eax, eax
mov byte [esp + 0xa0], 1
mov dword [edi + 0x14], eax
mov edx, dword [ebp + 4]
push ebx
push edx
push ebp
push eax
call fcn.1001de90
lea eax, [esp + 0x8c]
add esp, 0x10
push eax
mov eax, edi
jmp 0x1001f241
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0xac]
push ecx
lea edx, [esp + 0x34]
push edx
lea ecx, [esp + 0x44]
call fcn.1001d980
add esp, 8
test al, al
lea eax, [esp + 0x7c]
je 0x1001f37e
mov ecx, dword [esp + 0x30]
push eax
call fcn.1001bf00
jmp 0x1001f246
movzx eax, al
cmp eax, 0x80
jl 0x1001f306
cmp esi, 1
jle 0x1001f368
cmp eax, 0xe0
jl 0x1001f306
cmp esi, 2
jle 0x1001f368
cmp eax, 0xf0
jl 0x1001f306
cmp esi, 3
jle 0x1001f368
mov esi, ebp
lea edi, [esp + 0x34]
call fcn.1002e510
mov ecx, dword [esp + 0x34]
cmp eax, 1
jne 0x1001f322
cmp ecx, 0xfffd
je 0x1001f368
sub dword [esp + 0x40], eax
add ebp, eax
mov dword [esp + 0x3c], ebp
test eax, eax
jl 0x1001f3b4
lea edx, [esp + 0x7c]
push edx
call fcn.1001bf00
test al, al
je 0x1001f3b4
cmp dword [esp + 0x40], 0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
jle 0x1001f3fd
mov esi, dword [esp + 0x40]
xor edi, edi
jmp 0x1001eda8
mov eax, dword [esp + 0xac]
xor ecx, ecx
xor edx, edx
mov dword [eax], 0xc
mov dword [eax + 8], edx
jmp 0x1001f3b1
mov byte [esp + 0xa0], 0
call fcn.1001bad0
lea eax, [esp + 0x6c]
call fcn.10002790
xor eax, eax
jmp 0x1001f424
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0xac]
sub ebp, ecx
mov dword [eax], 0xa
mov dword [eax + 8], ebp
mov dword [eax + 4], ecx
mov byte [esp + 0xa0], 0
lea eax, [esp + 0x7c]
call fcn.1001bad0
lea eax, [esp + 0x6c]
call fcn.10002790
xor eax, eax
jmp 0x1001f424
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0xac]
sub ebp, ecx
mov dword [eax], 0xa
mov dword [eax + 4], ecx
mov dword [eax + 8], ebp
mov byte [esp + 0xa0], bl
jmp 0x1001f3bc
mov ecx, ebp
call fcn.1000de70
jmp 0x1001f3b4
lea eax, [esp + 0x7c]
call fcn.1001c8e0
mov esi, eax
lea eax, [esp + 0x7c]
mov byte [esp + 0xa0], 0
call fcn.1001bad0
lea eax, [esp + 0x6c]
call fcn.10002790
mov eax, esi
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret