Function at 0x100975f0
Capabilities:
Check for software breakpoints

Disassembly:
sub esp, 0x24
push ebx
push esi
mov ebx, ecx
mov esi, edx
push edi
mov ecx, 0x1010c0a9
mov dword [esp + 0x2c], ebx
call fcn.100b1e70
mov edx, ebx
mov dword [esp + 0x1c], 0x100fe0d0
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.0x1009763c.39
movzx eax, byte [eax + 0x10097b90]
jmp dword [eax*4 + 0x10097b74]
mov byte [esi + 1], bl
or bh, 4
jmp 0x10097671
mov byte [esi + 1], bl
or bh, 2
jmp 0x10097671
mov byte [esi + 2], bl
or bh, 0x20
jmp 0x10097671
mov byte [esi + 3], bl
or bh, 0x40
jmp 0x10097671
mov byte [esi + 4], bl
or bh, 8
jmp 0x10097671
mov byte [esi + 5], bl
or bh, 0x10
add cl, 0xff
jne 0x10097625
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 0x100976a7
mov bl, byte [edx]
inc edx
mov byte [esi + 7], bl
mov dword [esp + 0x20], 0x100fe11a
jmp 0x100976c0
cmp bl, 0xa0
jb 0x100976c0
mov bh, cl
cmp bl, 0xa3
ja 0x100976c0
test cl, 0x10
je 0x100976bd
or bh, 8
jmp 0x100976c0
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 0x100976dd
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 0x1009771b
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 0x1009771b
mov cl, 1
mov byte [esp + 0x20], 0
jmp 0x10097737
mov byte [esp + 0x20], 0
test cl, cl
jns 0x1009773b
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 0x10097768
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 0x10097768
or edi, 0x3000
mov dword [esi + 0x18], edi
test cl, 1
je 0x10097a71
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 0x100977bc
movzx eax, al
shl eax, cl
test al, al
jns 0x100977bc
or ebp, 0x3000
mov dword [esi + 0x18], ebp
mov ch, byte [esi + 7]
mov eax, ebp
test ch, ch
jne 0x1009780c
cmp bl, 0xd9
jb 0x1009780c
cmp bl, 0xdf
ja 0x1009780c
mov al, bl
movzx ecx, cl
add al, 0x27
cmp byte [esp + 0x15], 3
movzx eax, al
jne 0x100977ed
mov ch, byte [ecx + eax*8 + 0x100fe1c8]
mov cl, byte [esp + 0x14]
jmp 0x100977f9
mov al, byte [eax + 0x100fe1c1]
mov byte [esp + 0x17], al
mov ch, al
shl ch, cl
mov eax, ebp
test ch, ch
mov ch, byte [esi + 7]
jns 0x1009780c
or eax, 0x3000
mov dword [esi + 0x18], eax
test bh, 0x20
je 0x10097863
cmp byte [esp + 0x15], 3
jne 0x10097822
or eax, 0x9000
mov dword [esi + 0x18], eax
jmp 0x10097863
mov ah, bl
test ch, ch
jne 0x10097837
and ah, 0xfe
mov edi, 0x100fe289
mov ecx, 0x100fe271
jmp 0x10097841
mov edi, 0x100fe29b
mov ecx, 0x100fe289
mov al, byte [ecx]
inc ecx
cmp al, ah
je 0x1009784f
inc ecx
cmp ecx, edi
jne 0x10097841
jmp 0x1009785c
movzx eax, byte [ecx]
mov cl, byte [esp + 0x13]
shl eax, cl
test al, al
jns 0x10097863
or dword [esi + 0x18], 0x9000
mov cl, byte [esi + 7]
mov ebp, dword [esp + 0x24]
test cl, cl
je 0x100978b9
lea eax, [ebp - 0x20]
cmp eax, 3
ja case.default.0x10097876
jmp dword [eax*4 + 0x10097c60]
mov al, byte [esp + 0x13]
mov byte [esp + 0x15], 3
cmp al, 4
ja case.0x10097929.197
cmp al, 1
jne case.0x10097929.81
jmp case.0x10097929.197
mov al, byte [esp + 0x13]
mov byte [esp + 0x15], 3
cmp al, 4
je case.0x10097929.197
cmp al, 5
jne case.0x10097929.81
jmp case.0x10097929.197
mov eax, ebp
sub eax, 0x8c
je 0x1009794a
sub eax, 2
je 0x1009793e
cmp byte [esp + 0x15], 3
jne 0x10097914
test cl, cl
je 0x100978e2
mov edi, 0x100fe2d4
mov ecx, 0x100fe2aa
jmp 0x100978f0
mov edi, 0x100fe2aa
mov ecx, 0x100fe29b
nop dword [eax]
mov al, byte [ecx]
inc ecx
cmp al, bl
je 0x10097900
add ecx, 2
cmp ecx, edi
jne 0x100978f0
jmp case.0x10097929.81
test byte [ecx], bh
je case.0x10097929.81
movzx eax, byte [ecx + 1]
mov cl, byte [esp + 0x13]
shl eax, cl
test al, al
jns case.0x10097929.197
jmp case.0x10097929.81
test cl, cl
je case.0x10097929.81
lea eax, [ebp - 0x50]
cmp eax, 0xa7
ja case.0x10097929.81
movzx eax, byte [eax + 0x10097c80]
jmp dword [eax*4 + 0x10097c70]
test bh, 9
jne case.0x10097929.197
jmp case.0x10097929.81
test bh, 6
jne case.0x10097929.197
jmp case.0x10097929.81
mov al, byte [esp + 0x13]
cmp al, 1
je case.0x10097929.197
cmp al, 5
jmp 0x1009794f
cmp byte [esp + 0x13], 5
jbe case.0x10097929.81
or dword [esi + 0x18], 0x11000
mov cl, byte [edx + 1]
add edx, 2
cmp byte [esp + 0x13], 1
ja 0x10097981
cmp bl, 0xf6
jne 0x10097972
mov eax, dword [esp + 0x1c]
or al, 2
jmp 0x1009797d
cmp bl, 0xf7
jne 0x10097981
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 0x100979b8
sub eax, 1
je 0x100979b1
sub eax, 1
jne 0x100979dd
mov byte [esp + 0x18], 2
test bh, 0x10
jne 0x100979dd
mov byte [esp + 0x18], 4
jmp 0x100979dd
mov byte [esp + 0x18], 1
jmp 0x100979dd
test bh, 0x10
je 0x100979cc
cmp ch, 6
setne al
sub al, 1
and eax, 0xffffff02
jmp 0x100979d9
mov eax, dword [esp + 0x18]
cmp ch, 5
movzx eax, al
cmove eax, edi
mov dword [esp + 0x18], eax
cmp bl, 3
je 0x10097a20
cmp ch, 4
jne 0x10097a20
test bh, 0x10
jne 0x10097a20
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 0x10097a24
test bl, 1
movzx eax, al
cmove eax, edi
jmp 0x10097a24
mov eax, dword [esp + 0x18]
movzx ecx, al
dec edx
mov eax, ecx
sub eax, 1
je 0x10097a60
sub eax, 1
je 0x10097a4d
sub eax, 2
jne 0x10097a69
or dword [esi + 0x18], 0x80
mov eax, dword [edx]
add edx, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x14], eax
jmp 0x10097a7f
or dword [esi + 0x18], 0x40
mov ax, word [edx]
add edx, ecx
mov ecx, dword [esp + 0x1c]
mov word [esi + 0x14], ax
jmp 0x10097a7f
or dword [esi + 0x18], 0x20
mov al, byte [edx]
mov byte [esi + 0x14], al
add edx, ecx
mov ecx, dword [esp + 0x1c]
jmp 0x10097a7f
test bh, 0x20
je 0x10097a7f
or edi, 0x9000
mov dword [esi + 0x18], edi
pop ebp
test cl, 0x10
je 0x10097ad2
and bh, 8
test cl, 0x40
je 0x10097aab
test bh, bh
je 0x10097b26
or dword [esi + 0x18], 0x108
mov ax, word [edx]
add edx, 2
mov word [esi + 0x10], ax
jmp 0x10097b49
mov eax, dword [esi + 0x18]
test bh, bh
je 0x10097ac4
or eax, 8
mov dword [esi + 0x18], eax
mov ax, word [edx]
add edx, 2
mov word [esi + 0x10], ax
jmp 0x10097ad2
or eax, 0x10
mov dword [esi + 0x18], eax
mov eax, dword [edx]
add edx, 4
mov dword [esi + 0x10], eax
test cl, 4
je 0x10097b12
mov eax, dword [esi + 0x18]
test al, 0x10
je 0x10097aed
or eax, 8
mov dword [esi + 0x18], eax
mov ax, word [edx]
mov word [esi + 0x14], ax
jmp 0x10097b0f
test al, 8
je 0x10097b02
or eax, 0x800
mov dword [esi + 0x18], eax
mov ax, word [edx]
mov word [esi + 0x14], ax
jmp 0x10097b0f
or eax, 8
mov dword [esi + 0x18], eax
mov ax, word [edx]
mov word [esi + 0x10], ax
add edx, 2
test cl, 2
je 0x10097b21
or dword [esi + 0x18], 4
mov al, byte [edx]
inc edx
mov byte [esi + 0x10], al
test cl, 0x40
je 0x10097b37
or dword [esi + 0x18], 0x110
mov eax, dword [edx]
add edx, 4
mov dword [esi + 0x10], eax
jmp 0x10097b49
test cl, 0x20
je 0x10097b49
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 0x10097b6a
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