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

Disassembly:
jmp 0x100a3b3c
sub esp, 0x34
mov edx, 0x8000100
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x54]
cmp dword [esp + 0x48], edx
jne 0x100a3c5b
mov eax, dword [esp + 0x4c]
xor ecx, ecx
inc ecx
push 2
pop ebp
test al, 0xc0
jne 0x100a3b9e
mov eax, dword [0x10189bec]
test eax, eax
jne 0x100a3b7b
push edx
call fcn.10002c1b
pop ecx
mov eax, dword [eax]
mov dword [0x10189bec], eax
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x30]
mov esi, dword [esp + 0x50]
push ecx
push ebx
push dword [esp + 0x64]
push edi
push esi
push 0
call eax
mov ecx, eax
add esp, 0x18
mov dword [esp + 0x48], ecx
jmp 0x100a3bce
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x50]
shr eax, 7
and al, cl
movzx eax, al
push eax
push ebp
push ecx
lea eax, [esp + 0x3c]
push eax
push ebx
push dword [esp + 0x70]
lea eax, [esp + 0x60]
push eax
push edi
push esi
call sym.CoreFoundation.dll_CFUniCharDecompose
mov ecx, dword [esp + 0x6c]
add esp, 0x24
mov eax, dword [esp + 0x58]
test eax, eax
je 0x100a3bd8
mov dword [eax], ecx
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x30]
test eax, eax
je 0x100a3be6
mov dword [eax], edx
cmp ecx, edi
jne 0x100a3bf1
xor eax, eax
jmp 0x100a42b2
test ebx, ebx
jle 0x100a3c53
sub ebx, edx
cmp ebx, 0xa
jge 0x100a3c53
movzx eax, word [esi + ecx*2]
mov edx, 0xdc00
mov ebx, 0xdfff
cmp ax, dx
jb 0x100a3c14
cmp ax, bx
jbe 0x100a3c53
add eax, 0x2800
mov edx, 0x3ff
cmp ax, dx
ja 0x100a3c4c
xor eax, eax
sub edi, ecx
inc eax
cmp edi, eax
je 0x100a42b2
movzx ecx, word [esi + ecx*2 + 2]
mov edx, 0xdc00
cmp cx, dx
jb 0x100a42b2
cmp cx, bx
ja 0x100a42b2
mov eax, ebp
jmp 0x100a42b2
xor eax, eax
inc eax
jmp 0x100a42b2
push dword [esp + 0x48]
call fcn.100a262c
pop ecx
mov ecx, eax
xor ebx, ebx
xor eax, eax
mov dword [esp + 0x20], ecx
and dword [esp + 0x2c], eax
xor esi, esi
and dword [esp + 0x28], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], eax
test ecx, ecx
jne 0x100a3c8d
push 3
pop eax
jmp 0x100a42b2
mov ebp, dword [ecx]
xor ecx, ecx
mov edx, dword [esp + 0x4c]
inc ecx
mov dword [esp + 0x18], edx
test dl, 8
je 0x100a3cb0
test cl, dl
jne 0x100a3ccc
mov edi, dword [ebp + 0x28]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x54]
jmp 0x100a3ccc
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x28], eax
mov eax, ebx
test dl, 0x20
jne 0x100a3ccc
mov ebx, dword [ebp + 0x24]
or edx, 0x10
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x18], edx
mov bl, byte [ebp + 0xc]
mov byte [esp + 0x13], bl
cmp bl, 5
mov ebx, esi
jne 0x100a3d04
push dword [esp + 0x64]
mov eax, dword [esp + 0x24]
push dword [esp + 0x64]
push dword [esp + 0x64]
push dword [esp + 0x64]
push edi
push dword [esp + 0x64]
push edx
push dword [eax + 4]
call fcn.10002ecd
add esp, 0x20
jmp 0x100a42b2
cmp byte [esp + 0x13], 4
jne 0x100a3d2c
push dword [esp + 0x64]
push dword [esp + 0x64]
push dword [esp + 0x64]
push dword [esp + 0x64]
push edi
push dword [esp + 0x64]
push edx
push dword [esp + 0x64]
call fcn.10002054
jmp 0x100a3cfc
test edi, edi
jle 0x100a429e
mov ebp, dword [esp + 0x60]
test ebp, ebp
je 0x100a3d44
cmp ebx, ebp
jge 0x100a3fab
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 4]
mov dword [esp + 0x48], eax
mov eax, ebp
sub eax, ebx
mov dword [esp + 0x34], eax
mov eax, edi
sub eax, esi
mov dword [esp + 0x38], eax
lea eax, [esp + 0x14]
push eax
xor eax, eax
cmp dword [esp + 0x4c], eax
je 0x100a3d96
mov edi, dword [esp + 0x54]
test ebp, ebp
cmovne eax, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x64]
add eax, ebx
push eax
push dword [esp + 0x44]
lea eax, [edi + esi*2]
push eax
push edx
push ecx
call dword [esp + 0x64]
mov edi, dword [esp + 0x70]
add esp, 0x1c
jmp 0x100a3dc1
mov ecx, dword [ecx]
test ebp, ebp
cmovne eax, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x64]
add eax, ebx
push eax
push dword [esp + 0x44]
lea eax, [esi*2]
add eax, dword [esp + 0x60]
push eax
push edx
call dword [ecx]
mov ebp, dword [esp + 0x78]
add esp, 0x18
add esi, eax
cmp esi, edi
jge 0x100a40b8
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x100a411c
test esi, esi
jle 0x100a411c
mov eax, dword [esp + 0x50]
lea eax, [eax + esi*2]
mov dword [esp + 0x48], eax
movzx eax, word [eax]
push eax
call ecx
pop ecx
test al, al
je 0x100a411c
cmp dword [esp + 0x2c], 0
je 0x100a4027
mov ebp, dword [esp + 0x48]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x34], esi
sub ebp, 2
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], esi
dec esi
movzx eax, word [ebp]
push eax
call edi
pop ecx
test al, al
jne 0x100a3e10
mov ecx, dword [esp + 0x20]
xor eax, eax
mov ebx, dword [esp + 0x1c]
inc eax
add ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x54]
mov edx, dword [ecx]
mov dword [esp + 0x48], ebp
cmp word [edx + 8], ax
jbe 0x100a3e90
mov eax, dword [ecx + 4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x34]
sub eax, esi
cmp dword [esp + 0x38], 0
je 0x100a3e75
lea edx, [esp + 0x14]
push edx
push 0
push 0
push eax
push ebp
mov ebp, dword [esp + 0x2c]
push ebp
push ecx
call dword [esp + 0x54]
add esp, 0x1c
jmp 0x100a3e8a
lea ecx, [esp + 0x14]
push ecx
push 0
push 0
push eax
push ebp
mov ebp, dword [esp + 0x2c]
push ebp
call dword [edx]
add esp, 0x18
sub ebx, dword [esp + 0x14]
jmp 0x100a3e91
dec ebx
mov eax, dword [esp + 0x60]
lea ebp, [esp + 0x14]
mov edx, dword [esp + 0x5c]
mov ecx, eax
sub eax, ebx
mov dword [esp + 0x1c], ebx
neg ecx
push ebp
mov ebp, dword [esp + 0x1c]
sbb ecx, ecx
and ecx, eax
add edx, ebx
push ecx
push edx
mov eax, edi
mov dword [esp + 0x44], ecx
sub eax, esi
push eax
push dword [esp + 0x58]
push ebp
call dword [esp + 0x44]
add esp, 0x18
test eax, eax
jle 0x100a3f08
add esi, eax
cmp esi, edi
jge 0x100a3f90
mov ebp, dword [esp + 0x50]
movzx eax, word [ebp + esi*2]
push eax
call dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
pop ecx
xor ecx, ecx
test al, al
je 0x100a3f96
add ebx, dword [esp + 0x14]
inc ecx
mov eax, ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], eax
jmp 0x100a3fb3
mov edx, dword [esp + 0x18]
xor ecx, ecx
inc ecx
test cl, dl
je 0x100a41eb
mov eax, edx
shr eax, 0x18
mov dword [esp + 0x48], eax
test al, al
je 0x100a3f61
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x50]
inc esi
movzx eax, word [ebx + esi*2]
push eax
call edi
pop ecx
test al, al
jne 0x100a3f2c
mov ebp, dword [esp + 0x60]
xor ecx, ecx
mov edi, dword [esp + 0x54]
inc ecx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ecx
test ebp, ebp
je 0x100a3f5b
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x48]
mov byte [edx + ebx], al
mov edx, dword [esp + 0x18]
jmp 0x100a3f9b
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x14]
mov esi, dword [esp + 0x3c]
add edx, ebx
push ecx
push dword [esp + 0x3c]
mov eax, edi
sub eax, dword [esp + 0x48]
push edx
push eax
mov eax, dword [esp + 0x60]
lea eax, [eax + esi*2]
push eax
mov eax, dword [esp + 0x34]
call dword [eax + 0x10]
add esp, 0x14
add esi, eax
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov ebp, dword [esp + 0x60]
inc ecx
add ebx, dword [esp + 0x14]
mov dword [esp + 0x1c], ebx
cmp esi, edi
jl 0x100a3d38
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x50]
cmp esi, edi
jge 0x100a429e
cmp dword [esp + 0x60], 0
je 0x100a429e
test eax, eax
jne 0x100a429e
test cl, dl
je 0x100a4296
shr edx, 0x18
test dl, dl
jne 0x100a4296
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x100a428e
lea eax, [esp + 0x14]
push eax
push 0
mov eax, edi
sub eax, esi
push 0
push eax
lea eax, [esi*2]
add eax, ebp
push eax
call dword [ebx + 0x10]
add esp, 0x14
test eax, eax
je 0x100a428e
add esi, eax
cmp esi, edi
jge 0x100a428e
mov eax, dword [esp + 0x14]
jmp 0x100a3fe9
test ebp, ebp
je 0x100a4090
mov ecx, dword [esp + 0x14]
lea eax, [ecx + ebx]
cmp ebp, eax
je 0x100a41fa
mov eax, dword [esp + 0x20]
mov ecx, edi
sub ecx, esi
mov dword [esp + 0x38], ecx
mov edx, dword [eax + 4]
test edx, edx
je 0x100a4068
lea ebp, [esp + 0x30]
push ebp
mov ebp, dword [esp + 0x1c]
push 0
push 0
push ecx
push dword [esp + 0x58]
push ebp
push eax
call edx
add esp, 0x1c
jmp 0x100a4082
mov eax, dword [eax]
lea edx, [esp + 0x30]
mov ebp, dword [esp + 0x18]
push edx
push 0
push 0
push ecx
push dword [esp + 0x58]
push ebp
call dword [eax]
add esp, 0x18
test eax, eax
jne 0x100a41f6
mov ebp, dword [esp + 0x60]
jmp 0x100a4098
mov eax, edi
sub eax, esi
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x18]
test dl, 0x20
je 0x100a40c3
inc esi
cmp esi, edi
jge 0x100a40b8
mov eax, dword [esp + 0x50]
movzx eax, word [eax + esi*2]
push eax
call dword [esp + 0x2c]
pop ecx
test al, al
jne 0x100a40a1
mov edx, dword [esp + 0x18]
xor ecx, ecx
jmp 0x100a3f9a
add ebx, dword [esp + 0x14]
mov ecx, edx
shr ecx, 0x18
mov dword [esp + 0x40], ecx
test cl, cl
je 0x100a40ed
xor ecx, ecx
inc esi
inc ecx
mov dword [esp + 0x14], ecx
test ebp, ebp
je 0x100a3f9b
mov eax, dword [esp + 0x40]
jmp 0x100a41b1
lea eax, [esp + 0x14]
mov ecx, ebp
push eax
mov eax, ebp
sub eax, ebx
neg ecx
sbb ecx, ecx
and ecx, eax
mov eax, dword [esp + 0x60]
push ecx
add eax, ebx
push eax
push dword [esp + 0x44]
push dword [esp + 0x58]
mov eax, dword [esp + 0x34]
call dword [eax + 0x10]
add esp, 0x14
add esi, eax
jmp 0x100a40b8
test ebp, ebp
je 0x100a417c
mov ecx, dword [esp + 0x14]
lea eax, [ecx + ebx]
cmp ebp, eax
je 0x100a4217
mov eax, dword [esp + 0x20]
mov ecx, edi
mov edx, dword [esp + 0x50]
sub ecx, esi
mov dword [esp + 0x48], ecx
mov ebp, dword [eax + 4]
test ebp, ebp
mov dword [esp + 0x40], ebp
lea edx, [edx + esi*2]
lea ebp, [esp + 0x30]
push ebp
mov ebp, dword [esp + 0x1c]
push 0
push 0
push ecx
push edx
push ebp
je 0x100a4167
push eax
call dword [esp + 0x5c]
add esp, 0x1c
jmp 0x100a416e
mov eax, dword [eax]
call dword [eax]
add esp, 0x18
test eax, eax
jne 0x100a4213
mov ebp, dword [esp + 0x60]
jmp 0x100a4184
mov eax, edi
sub eax, esi
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0x18]
xor ecx, ecx
add ebx, dword [esp + 0x14]
inc ecx
test cl, dl
je 0x100a4285
mov eax, edx
shr eax, 0x18
mov dword [esp + 0x40], eax
test al, al
je 0x100a41c1
inc esi
mov dword [esp + 0x14], ecx
test ebp, ebp
je 0x100a3f9b
mov edi, dword [esp + 0x5c]
mov byte [ebx + edi], al
mov edi, dword [esp + 0x54]
jmp 0x100a3f9b
lea eax, [esp + 0x14]
mov ecx, ebp
push eax
mov eax, ebp
sub eax, ebx
neg ecx
sbb ecx, ecx
and ecx, eax
mov eax, dword [esp + 0x60]
push ecx
add eax, ebx
push eax
mov eax, dword [esp + 0x5c]
push dword [esp + 0x54]
lea eax, [eax + esi*2]
push eax
jmp 0x100a410e
mov eax, ecx
mov dword [esp + 0x24], eax
jmp 0x100a3faf
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
add ebx, ecx
push 2
pop eax
xor ecx, ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], eax
inc ecx
jmp 0x100a3faf
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
add ebx, ecx
xor ecx, ecx
mov dword [esp + 0x1c], ebx
inc ecx
test cl, dl
je 0x100a4276
mov eax, edx
shr eax, 0x18
test al, al
jne 0x100a4276
mov ebx, dword [esp + 0x20]
xor eax, eax
mov dword [esp + 0x14], eax
test eax, eax
jne 0x100a426b
lea eax, [esp + 0x14]
push eax
push 0
mov eax, edi
sub eax, esi
push 0
push eax
mov eax, dword [esp + 0x60]
lea eax, [eax + esi*2]
push eax
call dword [ebx + 0x10]
add esp, 0x14
test eax, eax
je 0x100a426b
add esi, eax
cmp esi, edi
jge 0x100a426b
mov eax, dword [esp + 0x14]
jmp 0x100a423b
mov ebx, dword [esp + 0x1c]
xor ecx, ecx
mov edx, dword [esp + 0x18]
inc ecx
xor ebp, ebp
cmp esi, edi
push 2
pop eax
cmovge eax, ebp
jmp 0x100a41ed
mov dword [esp + 0x1c], ebx
jmp 0x100a41eb
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push 2
cmp esi, edi
pop ecx
cmovl eax, ecx
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x100a42a8
mov dword [ecx], ebx
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x100a42b2
mov dword [ecx], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret