Function at 0x100232a0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, ecx
mov dword [ebp - 0x14], 0x1007cb20
push ebx
push edi
mov dword [ebp - 0x24], eax
mov ebx, eax
xor al, al
mov byte [ebp - 0xc], 0
mov edi, edx
mov byte [ebp - 6], 0x10
mov ecx, 0x1c
rep stosb byte es:[edi], al
mov cl, al
nop dword [eax + eax]
mov ch, byte [ebx]
inc ebx
movzx eax, ch
sub eax, 0x26
mov byte [ebp - 2], ch
cmp eax, 0xcd
ja case.0x100232ea.39
movzx eax, byte [eax + 0x10023824]
jmp dword [eax*4 + 0x10023808]
mov byte [edx + 1], ch
mov al, 4
jmp 0x10023319
mov byte [edx + 1], ch
mov al, 2
jmp 0x10023319
mov byte [edx + 2], ch
mov al, 0x20
jmp 0x10023319
mov byte [edx + 3], ch
mov al, 0x40
jmp 0x10023319
mov byte [edx + 4], ch
mov al, 8
jmp 0x10023319
mov byte [edx + 5], ch
mov al, 0x10
mov ah, byte [ebp - 6]
or cl, al
dec ah
mov byte [ebp - 6], ah
test ah, ah
jne 0x100232d0
movzx eax, cl
shl eax, 0x17
test cl, cl
mov dword [edx + 0x18], eax
mov eax, 1
mov dword [ebp - 0x10], eax
push esi
mov esi, dword [ebp - 0x10]
movzx eax, cl
cmovne esi, eax
mov byte [edx + 6], ch
mov dword [ebp - 0x10], esi
cmp ch, 0xf
jne 0x10023364
mov ch, byte [ebx]
inc ebx
mov cl, byte [ebp - 0x10]
mov byte [ebp - 2], ch
mov byte [edx + 7], ch
mov dword [ebp - 0x14], 0x1007cb6a
jmp 0x10023385
mov eax, dword [ebp - 0x10]
mov cl, al
mov byte [ebp - 3], cl
cmp ch, 0xa0
jb 0x10023388
mov byte [ebp - 3], cl
cmp ch, 0xa3
ja 0x10023388
test al, 0x10
je 0x10023382
or cl, 8
jmp 0x10023385
and cl, 0xf7
mov byte [ebp - 3], cl
movzx eax, ch
mov edi, eax
mov dword [ebp - 0x1c], eax
mov esi, eax
shr edi, 2
mov eax, dword [ebp - 0x14]
and esi, 3
mov dword [ebp - 0x18], esi
movzx eax, byte [edi + eax]
add eax, esi
mov esi, dword [ebp - 0x14]
mov al, byte [eax + esi]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
cmp al, 0xff
jne 0x100233e2
mov eax, dword [ebp - 0x1c]
or dword [edx + 0x18], 0x3000
and eax, 0xfffffffd
mov ch, byte [ebp - 2]
cmp eax, 0x24
mov byte [ebp - 6], 0
movzx esi, byte [ebp - 6]
mov dword [ebp - 0x10], esi
mov eax, esi
mov esi, 1
cmove eax, esi
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov byte [ebp - 0x20], 0
test al, al
jns 0x10023403
mov esi, dword [ebp - 0x14]
movzx eax, al
and eax, 0x7f
movzx eax, word [eax + esi]
mov esi, dword [ebp - 0x18]
mov byte [ebp - 0x10], al
shr eax, 8
mov dword [ebp - 0x20], eax
mov al, byte [edx + 7]
test al, al
je 0x10023421
movzx eax, byte [edi + str.JJJJKRJJJJOLJJJJJJJJUE_JJJEYMFJ_JJJJJJJJJJJJJJacgNJJkmJJEmJJDEJJ]
test byte [eax + esi + str.JJJJKRJJJJOLJJJJJJJJUE_JJJEYMFJ_JJJJJJJJJJJJJJacgNJJkmJJEmJJDEJJ], cl
je 0x10023421
or dword [edx + 0x18], 0x3000
mov eax, dword [ebp - 0x10]
test al, 1
je 0x1002371c
or dword [edx + 0x18], 1
mov cl, byte [ebx]
mov al, cl
mov byte [edx + 8], cl
shr al, 6
mov byte [ebp - 1], al
mov byte [edx + 9], al
mov al, cl
and al, 7
shr cl, 3
and cl, 7
mov byte [ebp - 6], al
mov byte [edx + 0xb], al
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], cl
mov byte [edx + 0xa], cl
test al, al
je 0x1002346d
movzx eax, al
shl eax, cl
test al, al
jns 0x1002346d
or dword [edx + 0x18], 0x3000
mov al, byte [edx + 7]
test al, al
jne 0x100234ba
mov al, ch
add al, 0x27
cmp al, 6
ja 0x100234b7
mov al, ch
add al, 0x27
cmp byte [ebp - 1], 3
jne 0x1002349c
movzx ecx, al
movzx eax, byte [ebp - 4]
mov al, byte [eax + ecx*8 + 0x1007cc18]
mov cl, byte [ebp - 6]
mov ch, byte [ebp - 2]
jmp 0x100234a5
movzx eax, al
mov al, byte [eax + 0x1007cc11]
shl al, cl
test al, al
mov al, byte [edx + 7]
jns 0x100234ba
or dword [edx + 0x18], 0x3000
jmp 0x100234ba
mov al, byte [edx + 7]
test byte [ebp - 3], 0x20
je 0x10023508
cmp byte [ebp - 1], 3
je 0x10023501
mov cl, ch
test al, al
je 0x100234d8
mov esi, 0x1007ccd9
mov edi, 0x1007cceb
jmp 0x100234e7
mov cl, ch
mov esi, 0x1007ccc1
mov edi, 0x1007ccd9
and cl, 0xfe
cmp byte [esi], cl
je 0x100234f4
add esi, 2
cmp esi, edi
jne 0x100234e7
jmp 0x10023501
movzx eax, byte [esi + 1]
mov cl, byte [ebp - 4]
shl eax, cl
test al, al
jns 0x10023508
or dword [edx + 0x18], 0x9000
mov cl, byte [edx + 7]
mov esi, dword [ebp - 0x1c]
test cl, cl
je 0x10023567
lea eax, [esi - 0x20]
cmp eax, 3
ja case.default.0x1002351a
jmp dword [eax*4 + 0x100238f4]
mov al, byte [ebp - 4]
mov byte [ebp - 1], 3
cmp al, 4
ja case.0x100235dc.197
cmp al, 1
jne case.0x100235dc.81
or dword [edx + 0x18], 0x11000
jmp case.0x100235dc.81
mov al, byte [ebp - 4]
mov byte [ebp - 1], 3
cmp al, 4
je case.0x100235dc.197
cmp al, 5
jne case.0x100235dc.81
or dword [edx + 0x18], 0x11000
jmp case.0x100235dc.81
mov eax, esi
sub eax, 0x8c
je 0x10023617
sub eax, 2
je 0x1002360c
mov al, byte [ebp - 1]
cmp al, 3
jne 0x100235c7
test cl, cl
je 0x10023594
mov ecx, 0x1007ccfa
mov esi, 0x1007cd24
jmp 0x1002359e
mov ecx, 0x1007cceb
mov esi, 0x1007ccfa
mov ah, byte [ebp - 2]
mov al, byte [ecx]
inc ecx
cmp al, ah
je 0x100235b1
add ecx, 2
cmp ecx, esi
jne 0x100235a1
jmp 0x100235ec
mov al, byte [ebp - 3]
test byte [ecx], al
je 0x100235ec
movzx eax, byte [ecx + 1]
mov cl, byte [ebp - 4]
shl eax, cl
test al, al
jns case.0x100235dc.197
jmp case.0x100235dc.81
test cl, cl
je 0x10023626
lea eax, [esi - 0x50]
cmp eax, 0xa7
ja case.0x100235dc.81
movzx eax, byte [eax + 0x10023914]
jmp dword [eax*4 + 0x10023904]
test byte [ebp - 3], 9
jne case.0x100235dc.197
mov ah, byte [ebp - 2]
mov al, byte [ebp - 1]
mov ch, byte [ebx + 1]
add ebx, 2
cmp byte [ebp - 4], 1
ja 0x10023634
cmp ah, 0xf6
jne 0x1002362b
or byte [ebp - 0x10], 2
jmp 0x10023634
test byte [ebp - 3], 6
jmp 0x100235e7
mov al, byte [ebp - 4]
cmp al, 1
je case.0x100235dc.197
cmp al, 5
jmp 0x1002361b
cmp byte [ebp - 4], 5
jbe case.0x100235dc.81
or dword [edx + 0x18], 0x11000
jmp case.0x100235dc.81
mov ah, byte [ebp - 2]
jmp 0x100235ef
cmp ah, 0xf7
jne 0x10023634
or byte [ebp - 0x10], 0x10
mov cl, byte [ebp - 3]
mov esi, 4
movzx eax, al
sub eax, 0
je 0x10023663
sub eax, 1
je 0x1002365d
sub eax, 1
jne 0x10023688
mov byte [ebp - 0xc], 2
test cl, 0x10
jne 0x10023688
mov byte [ebp - 0xc], 4
jmp 0x10023688
mov byte [ebp - 0xc], 1
jmp 0x10023688
test cl, 0x10
je 0x10023678
cmp byte [ebp - 6], 6
setne al
sub al, 1
and eax, 0xffffff02
jmp 0x10023685
mov eax, dword [ebp - 0xc]
cmp byte [ebp - 6], 5
movzx eax, al
cmove eax, esi
mov dword [ebp - 0xc], eax
cmp byte [ebp - 1], 3
je 0x100236cf
cmp byte [ebp - 6], 4
jne 0x100236cf
test cl, 0x10
jne 0x100236cf
or dword [edx + 0x18], 2
mov al, ch
shr al, 6
inc ebx
mov byte [edx + 0xd], al
mov al, ch
shr al, 3
and al, 7
mov byte [edx + 0xc], ch
mov byte [edx + 0xe], al
movzx eax, ch
and eax, 7
mov byte [edx + 0xf], al
cmp al, 5
mov eax, dword [ebp - 0xc]
jne 0x100236d2
test byte [ebp - 1], 1
movzx eax, al
cmove eax, esi
jmp 0x100236d2
mov eax, dword [ebp - 0xc]
movzx esi, al
dec ebx
mov eax, esi
sub eax, 1
je 0x1002370c
sub eax, 1
je 0x100236fa
sub eax, 2
jne 0x10023715
or dword [edx + 0x18], 0x80
mov eax, dword [ebx]
add ebx, esi
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0x10]
jmp 0x10023728
or dword [edx + 0x18], 0x40
mov ax, word [ebx]
add ebx, esi
mov word [edx + 0x14], ax
mov eax, dword [ebp - 0x10]
jmp 0x10023728
or dword [edx + 0x18], 0x20
mov al, byte [ebx]
mov byte [edx + 0x14], al
mov eax, dword [ebp - 0x10]
add ebx, esi
jmp 0x10023728
test cl, 0x20
je 0x10023728
or dword [edx + 0x18], 0x9000
pop esi
test al, 0x10
je 0x10023771
test al, 0x40
je 0x10023750
test cl, 8
je 0x100237c8
or dword [edx + 0x18], 0x108
mov ax, word [ebx]
add ebx, 2
mov word [edx + 0x10], ax
jmp 0x100237eb
test cl, 8
je 0x10023765
or dword [edx + 0x18], 8
mov ax, word [ebx]
add ebx, 2
mov word [edx + 0x10], ax
jmp 0x10023771
or dword [edx + 0x18], 0x10
mov eax, dword [ebx]
add ebx, 4
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0x10]
test cl, 4
je 0x100237b4
mov eax, dword [edx + 0x18]
test al, 0x10
je 0x1002378f
or eax, 8
mov dword [edx + 0x18], eax
mov ax, word [ebx]
mov word [edx + 0x14], ax
jmp 0x100237b1
test al, 8
je 0x100237a4
or eax, 0x800
mov dword [edx + 0x18], eax
mov ax, word [ebx]
mov word [edx + 0x14], ax
jmp 0x100237b1
or eax, 8
mov dword [edx + 0x18], eax
mov ax, word [ebx]
mov word [edx + 0x10], ax
add ebx, 2
test cl, 2
je 0x100237c3
or dword [edx + 0x18], 4
mov al, byte [ebx]
inc ebx
mov byte [edx + 0x10], al
test cl, 0x40
je 0x100237d9
or dword [edx + 0x18], 0x110
mov eax, dword [ebx]
add ebx, 4
mov dword [edx + 0x10], eax
jmp 0x100237eb
test cl, 0x20
je 0x100237eb
or dword [edx + 0x18], 0x104
mov al, byte [ebx]
inc ebx
mov byte [edx + 0x10], al
sub ebx, dword [ebp - 0x24]
pop edi
mov byte [edx], bl
cmp bl, 0xf
pop ebx
jbe 0x10023801
or dword [edx + 0x18], 0x5000
mov byte [edx], 0xf
movzx eax, byte [edx]
mov esp, ebp
pop ebp
ret