Function at 0x1009eb20
Capabilities:
Check for software breakpoints

Disassembly:
sub esp, 0x24
push ebx
push esi
mov ebx, ecx
mov esi, edx
push edi
mov ecx, 0x10174f86
mov dword [esp + 0x2c], ebx
call fcn.100b6430
mov edx, ebx
mov dword [esp + 0x1c], 0x10103100
xor bh, bh
mov edi, esi
xor al, al
mov byte [esp + 0x14], bh
mov ecx, 0x1c
rep stosb byte es:[edi], al
mov cl, 0x10
mov bl, byte [edx]
inc edx
movzx eax, bl
sub eax, 0x26
cmp eax, 0xcd
ja case.0x1009eb6c.39
movzx eax, byte [eax + 0x1009f0c0]
jmp dword [eax*4 + 0x1009f0a4]
mov byte [esi + 1], bl
or bh, 4
jmp 0x1009eba1
mov byte [esi + 1], bl
or bh, 2
jmp 0x1009eba1
mov byte [esi + 2], bl
or bh, 0x20
jmp 0x1009eba1
mov byte [esi + 3], bl
or bh, 0x40
jmp 0x1009eba1
mov byte [esi + 4], bl
or bh, 8
jmp 0x1009eba1
mov byte [esi + 5], bl
or bh, 0x10
add cl, 0xff
jne 0x1009eb55
push ebp
movzx ebp, bh
mov ecx, 1
shl ebp, 0x17
test bh, bh
movzx eax, bh
cmovne ecx, eax
mov dword [esi + 0x18], ebp
mov byte [esi + 6], bl
mov bh, cl
cmp bl, 0xf
jne 0x1009ebd7
mov bl, byte [edx]
inc edx
mov byte [esi + 7], bl
mov dword [esp + 0x20], 0x1010314a
jmp 0x1009ebf0
cmp bl, 0xa0
jb 0x1009ebf0
mov bh, cl
cmp bl, 0xa3
ja 0x1009ebf0
test cl, 0x10
je 0x1009ebed
or bh, 8
jmp 0x1009ebf0
and bh, 0xf7
movzx ecx, bl
mov eax, ecx
mov dword [esp + 0x24], ecx
shr eax, 2
mov dword [esp + 0x28], eax
and ecx, 0x80000003
jns 0x1009ec0d
dec ecx
or ecx, 0xfffffffc
inc ecx
mov edi, dword [esp + 0x20]
mov dword [esp + 0x2c], ecx
movzx eax, byte [eax + edi]
add eax, ecx
mov cl, byte [eax + edi]
mov dword [esp + 0x1c], ecx
cmp cl, 0xff
jne 0x1009ec4b
mov eax, dword [esp + 0x24]
or ebp, 0x3000
xor cl, cl
mov dword [esi + 0x18], ebp
and eax, 0xfffffffd
mov dword [esp + 0x1c], ecx
cmp eax, 0x24
jne 0x1009ec4b
mov cl, 1
mov byte [esp + 0x20], 0
jmp 0x1009ec67
mov byte [esp + 0x20], 0
test cl, cl
jns 0x1009ec6b
movzx eax, cl
and eax, 0x7f
movzx ecx, word [eax + edi]
mov eax, ecx
shr eax, 8
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
cmp byte [esi + 7], 0
mov edi, ebp
je 0x1009ec98
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
movzx eax, byte [eax + str.JJJJKRJJJJOLJJJJJJJJUE_JJJEYMFJ_JJJJJJJJJJJJJJacgNJJkmJJEmJJDEJJ]
test byte [eax + ecx + str.JJJJKRJJJJOLJJJJJJJJUE_JJJEYMFJ_JJJJJJJJJJJJJJacgNJJkmJJEmJJDEJJ], bh
mov ecx, dword [esp + 0x1c]
je 0x1009ec98
or edi, 0x3000
mov dword [esi + 0x18], edi
test cl, 1
je 0x1009efa1
or edi, 1
mov dword [esi + 0x18], edi
mov ebp, edi
mov cl, byte [edx]
mov al, cl
mov byte [esi + 8], cl
shr al, 6
mov byte [esp + 0x15], al
mov byte [esi + 9], al
mov al, cl
and al, 7
shr cl, 3
and cl, 7
mov byte [esp + 0x14], al
mov byte [esi + 0xb], al
mov eax, dword [esp + 0x20]
mov byte [esp + 0x13], cl
mov byte [esi + 0xa], cl
test al, al
je 0x1009ecec
movzx eax, al
shl eax, cl
test al, al
jns 0x1009ecec
or ebp, 0x3000
mov dword [esi + 0x18], ebp
mov ch, byte [esi + 7]
mov eax, ebp
test ch, ch
jne 0x1009ed3c
cmp bl, 0xd9
jb 0x1009ed3c
cmp bl, 0xdf
ja 0x1009ed3c
mov al, bl
movzx ecx, cl
add al, 0x27
cmp byte [esp + 0x15], 3
movzx eax, al
jne 0x1009ed1d
mov ch, byte [ecx + eax*8 + 0x101031f8]
mov cl, byte [esp + 0x14]
jmp 0x1009ed29
mov al, byte [eax + 0x101031f1]
mov byte [esp + 0x17], al
mov ch, al
shl ch, cl
mov eax, ebp
test ch, ch
mov ch, byte [esi + 7]
jns 0x1009ed3c
or eax, 0x3000
mov dword [esi + 0x18], eax
test bh, 0x20
je 0x1009ed93
cmp byte [esp + 0x15], 3
jne 0x1009ed52
or eax, 0x9000
mov dword [esi + 0x18], eax
jmp 0x1009ed93
mov ah, bl
test ch, ch
jne 0x1009ed67
and ah, 0xfe
mov edi, 0x101032b9
mov ecx, 0x101032a1
jmp 0x1009ed71
mov edi, 0x101032cb
mov ecx, 0x101032b9
mov al, byte [ecx]
inc ecx
cmp al, ah
je 0x1009ed7f
inc ecx
cmp ecx, edi
jne 0x1009ed71
jmp 0x1009ed8c
movzx eax, byte [ecx]
mov cl, byte [esp + 0x13]
shl eax, cl
test al, al
jns 0x1009ed93
or dword [esi + 0x18], 0x9000
mov cl, byte [esi + 7]
mov ebp, dword [esp + 0x24]
test cl, cl
je 0x1009ede9
lea eax, [ebp - 0x20]
cmp eax, 3
ja case.default.0x1009eda6
jmp dword [eax*4 + 0x1009f190]
mov al, byte [esp + 0x13]
mov byte [esp + 0x15], 3
cmp al, 4
ja case.0x1009ee59.197
cmp al, 1
jne case.0x1009ee59.81
jmp case.0x1009ee59.197
mov al, byte [esp + 0x13]
mov byte [esp + 0x15], 3
cmp al, 4
je case.0x1009ee59.197
cmp al, 5
jne case.0x1009ee59.81
jmp case.0x1009ee59.197
mov eax, ebp
sub eax, 0x8c
je 0x1009ee7a
sub eax, 2
je 0x1009ee6e
cmp byte [esp + 0x15], 3
jne 0x1009ee44
test cl, cl
je 0x1009ee12
mov edi, 0x10103304
mov ecx, 0x101032da
jmp 0x1009ee20
mov edi, 0x101032da
mov ecx, 0x101032cb
nop dword [eax]
mov al, byte [ecx]
inc ecx
cmp al, bl
je 0x1009ee30
add ecx, 2
cmp ecx, edi
jne 0x1009ee20
jmp case.0x1009ee59.81
test byte [ecx], bh
je case.0x1009ee59.81
movzx eax, byte [ecx + 1]
mov cl, byte [esp + 0x13]
shl eax, cl
test al, al
jns case.0x1009ee59.197
jmp case.0x1009ee59.81
test cl, cl
je case.0x1009ee59.81
lea eax, [ebp - 0x50]
cmp eax, 0xa7
ja case.0x1009ee59.81
movzx eax, byte [eax + 0x1009f1b0]
jmp dword [eax*4 + 0x1009f1a0]
test bh, 9
jne case.0x1009ee59.197
jmp case.0x1009ee59.81
test bh, 6
jne case.0x1009ee59.197
jmp case.0x1009ee59.81
mov al, byte [esp + 0x13]
cmp al, 1
je case.0x1009ee59.197
cmp al, 5
jmp 0x1009ee7f
cmp byte [esp + 0x13], 5
jbe case.0x1009ee59.81
or dword [esi + 0x18], 0x11000
mov cl, byte [edx + 1]
add edx, 2
cmp byte [esp + 0x13], 1
ja 0x1009eeb1
cmp bl, 0xf6
jne 0x1009eea2
mov eax, dword [esp + 0x1c]
or al, 2
jmp 0x1009eead
cmp bl, 0xf7
jne 0x1009eeb1
mov eax, dword [esp + 0x1c]
or al, 0x10
mov dword [esp + 0x1c], eax
mov bl, byte [esp + 0x15]
mov edi, 4
mov ch, byte [esp + 0x14]
movzx eax, bl
sub eax, 0
je 0x1009eee8
sub eax, 1
je 0x1009eee1
sub eax, 1
jne 0x1009ef0d
mov byte [esp + 0x18], 2
test bh, 0x10
jne 0x1009ef0d
mov byte [esp + 0x18], 4
jmp 0x1009ef0d
mov byte [esp + 0x18], 1
jmp 0x1009ef0d
test bh, 0x10
je 0x1009eefc
cmp ch, 6
setne al
sub al, 1
and eax, 0xffffff02
jmp 0x1009ef09
mov eax, dword [esp + 0x18]
cmp ch, 5
movzx eax, al
cmove eax, edi
mov dword [esp + 0x18], eax
cmp bl, 3
je 0x1009ef50
cmp ch, 4
jne 0x1009ef50
test bh, 0x10
jne 0x1009ef50
or dword [esi + 0x18], 2
mov al, cl
shr al, 6
inc edx
mov byte [esi + 0xd], al
mov al, cl
shr al, 3
and al, 7
mov byte [esi + 0xc], cl
and cl, 7
mov byte [esi + 0xe], al
mov eax, dword [esp + 0x18]
mov byte [esi + 0xf], cl
cmp cl, 5
jne 0x1009ef54
test bl, 1
movzx eax, al
cmove eax, edi
jmp 0x1009ef54
mov eax, dword [esp + 0x18]
movzx ecx, al
dec edx
mov eax, ecx
sub eax, 1
je 0x1009ef90
sub eax, 1
je 0x1009ef7d
sub eax, 2
jne 0x1009ef99
or dword [esi + 0x18], 0x80
mov eax, dword [edx]
add edx, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x14], eax
jmp 0x1009efaf
or dword [esi + 0x18], 0x40
mov ax, word [edx]
add edx, ecx
mov ecx, dword [esp + 0x1c]
mov word [esi + 0x14], ax
jmp 0x1009efaf
or dword [esi + 0x18], 0x20
mov al, byte [edx]
mov byte [esi + 0x14], al
add edx, ecx
mov ecx, dword [esp + 0x1c]
jmp 0x1009efaf
test bh, 0x20
je 0x1009efaf
or edi, 0x9000
mov dword [esi + 0x18], edi
pop ebp
test cl, 0x10
je 0x1009f002
and bh, 8
test cl, 0x40
je 0x1009efdb
test bh, bh
je 0x1009f056
or dword [esi + 0x18], 0x108
mov ax, word [edx]
add edx, 2
mov word [esi + 0x10], ax
jmp 0x1009f079
mov eax, dword [esi + 0x18]
test bh, bh
je 0x1009eff4
or eax, 8
mov dword [esi + 0x18], eax
mov ax, word [edx]
add edx, 2
mov word [esi + 0x10], ax
jmp 0x1009f002
or eax, 0x10
mov dword [esi + 0x18], eax
mov eax, dword [edx]
add edx, 4
mov dword [esi + 0x10], eax
test cl, 4
je 0x1009f042
mov eax, dword [esi + 0x18]
test al, 0x10
je 0x1009f01d
or eax, 8
mov dword [esi + 0x18], eax
mov ax, word [edx]
mov word [esi + 0x14], ax
jmp 0x1009f03f
test al, 8
je 0x1009f032
or eax, 0x800
mov dword [esi + 0x18], eax
mov ax, word [edx]
mov word [esi + 0x14], ax
jmp 0x1009f03f
or eax, 8
mov dword [esi + 0x18], eax
mov ax, word [edx]
mov word [esi + 0x10], ax
add edx, 2
test cl, 2
je 0x1009f051
or dword [esi + 0x18], 4
mov al, byte [edx]
inc edx
mov byte [esi + 0x10], al
test cl, 0x40
je 0x1009f067
or dword [esi + 0x18], 0x110
mov eax, dword [edx]
add edx, 4
mov dword [esi + 0x10], eax
jmp 0x1009f079
test cl, 0x20
je 0x1009f079
or dword [esi + 0x18], 0x104
mov al, byte [edx]
inc edx
mov byte [esi + 0x10], al
sub dl, byte [esp + 0x2c]
mov byte [esi], dl
cmp dl, 0xf
jbe 0x1009f09a
or dword [esi + 0x18], 0x5000
mov al, 0xf
pop edi
mov byte [esi], 0xf
pop esi
movzx eax, al
pop ebx
add esp, 0x24
ret
pop edi
pop esi
movzx eax, dl
pop ebx
add esp, 0x24
ret