Function at 0x10054240
Capabilities:
Check for software breakpoints

Disassembly:
sub esp, 0x20
mov eax, ecx
mov dword [esp + 8], 0x100ec110
xorps xmm0, xmm0
mov dword [esp + 0x1c], eax
movups xmmword [edx], xmm0
xor cl, cl
mov byte [esp + 6], 0x10
movq qword [edx + 0x10], xmm0
push ebx
mov ebx, eax
mov byte [esp + 0x10], cl
mov dword [edx + 0x18], 0
mov ch, byte [ebx]
inc ebx
movzx eax, ch
sub eax, 0x26
mov byte [esp + 6], ch
cmp eax, 0xcd
ja case.0x1005428c.39
movzx eax, byte [eax + 0x10054844]
jmp dword [eax*4 + 0x10054828]
mov byte [edx + 1], ch
mov al, 4
jmp 0x100542bb
mov byte [edx + 1], ch
mov al, 2
jmp 0x100542bb
mov byte [edx + 2], ch
mov al, 0x20
jmp 0x100542bb
mov byte [edx + 3], ch
mov al, 0x40
jmp 0x100542bb
mov byte [edx + 4], ch
mov al, 8
jmp 0x100542bb
mov byte [edx + 5], ch
mov al, 0x10
mov ah, byte [esp + 0xa]
or cl, al
dec ah
mov byte [esp + 0xa], ah
test ah, ah
jne 0x10054271
push ebp
push esi
push edi
movzx edi, cl
mov esi, 1
shl edi, 0x17
test cl, cl
movzx eax, cl
cmovne esi, eax
mov dword [edx + 0x18], edi
mov dword [esp + 0x24], esi
mov byte [edx + 6], ch
cmp ch, 0xf
jne 0x10054308
mov ch, byte [ebx]
inc ebx
mov cl, byte [esp + 0x24]
mov byte [esp + 0x12], ch
mov byte [edx + 7], ch
mov dword [esp + 0x18], 0x100ec15a
jmp 0x1005432c
mov eax, dword [esp + 0x24]
mov cl, al
mov byte [esp + 0x13], cl
cmp ch, 0xa0
jb 0x10054330
mov byte [esp + 0x13], cl
cmp ch, 0xa3
ja 0x10054330
test al, 0x10
je 0x10054329
or cl, 8
jmp 0x1005432c
and cl, 0xf7
mov byte [esp + 0x13], cl
movzx eax, ch
mov ebp, eax
mov dword [esp + 0x24], eax
mov esi, eax
shr ebp, 2
mov eax, dword [esp + 0x18]
and esi, 3
mov dword [esp + 0x28], esi
movzx eax, byte [eax + ebp]
add eax, esi
mov esi, dword [esp + 0x18]
mov al, byte [eax + esi]
mov dword [esp + 0x18], eax
cmp al, 0xff
jne 0x1005438a
xor al, al
or edi, 0x3000
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
and eax, 0xfffffffd
mov dword [edx + 0x18], edi
cmp eax, 0x24
jne 0x10054386
mov al, 1
mov byte [esp + 0x20], 0
mov dword [esp + 0x18], eax
jmp 0x100543a8
mov eax, dword [esp + 0x18]
mov byte [esp + 0x20], 0
test al, al
jns 0x100543a8
movzx eax, al
and eax, 0x7f
movzx eax, word [eax + esi]
mov dword [esp + 0x18], eax
shr eax, 8
mov dword [esp + 0x20], eax
mov al, byte [edx + 7]
mov esi, edi
mov byte [esp + 0x15], al
test al, al
je 0x100543d2
movzx eax, byte [ebp + str.JJJJKRJJJJOLJJJJJJJJUE_JJJEYMFJ_JJJJJJJJJJJJJJacgNJJkmJJEmJJDEJJ]
mov ebp, dword [esp + 0x28]
test byte [eax + ebp + str.JJJJKRJJJJOLJJJJJJJJUE_JJJEYMFJ_JJJJJJJJJJJJJJacgNJJkmJJEmJJDEJJ], cl
je 0x100543d2
or esi, 0x3000
mov dword [edx + 0x18], esi
mov eax, dword [esp + 0x18]
test al, 1
je 0x1005472f
mov cl, byte [ebx]
or esi, 1
mov al, cl
mov byte [edx + 8], cl
shr al, 6
mov edi, esi
mov byte [esp + 0x11], al
mov byte [edx + 9], al
mov al, cl
and al, 7
shr cl, 3
and cl, 7
mov byte [esp + 0x16], al
mov byte [edx + 0xb], al
mov eax, dword [esp + 0x20]
mov dword [edx + 0x18], esi
mov byte [esp + 0x14], cl
mov byte [edx + 0xa], cl
test al, al
je 0x10054429
movzx eax, al
shl eax, cl
test al, al
jns 0x10054429
or edi, 0x3000
mov dword [edx + 0x18], edi
cmp byte [esp + 0x15], 0
mov eax, edi
jne 0x1005447d
cmp ch, 0xd9
jb 0x1005447d
cmp ch, 0xdf
ja 0x1005447d
mov al, ch
movzx esi, cl
add al, 0x27
cmp byte [esp + 0x11], 3
movzx eax, al
jne 0x1005445a
mov al, byte [esi + eax*8 + 0x100ec208]
mov cl, byte [esp + 0x16]
jmp 0x10054466
mov al, byte [eax + 0x100ec201]
mov ecx, esi
mov ch, byte [esp + 0x12]
shl al, cl
mov byte [esp + 0x17], al
mov eax, edi
cmp byte [esp + 0x17], 0
jge 0x1005447d
or eax, 0x3000
mov dword [edx + 0x18], eax
test byte [esp + 0x13], 0x20
je 0x100544e9
cmp byte [esp + 0x11], 3
jne 0x10054495
or eax, 0x9000
mov dword [edx + 0x18], eax
jmp 0x100544e9
mov al, byte [esp + 0x15]
mov edi, 0x100ec2c9
test al, al
jne 0x100544ac
and ch, 0xfe
mov esi, 0x100ec2b1
jmp 0x100544c7
test al, al
mov esi, 0x100ec2db
mov ebp, 0x100ec2c9
cmovne edi, esi
mov esi, 0x100ec2b1
cmovne esi, ebp
cmp esi, edi
je 0x100544e2
cmp byte [esi], ch
je 0x100544d4
add esi, 2
cmp esi, edi
jne 0x100544c7
jmp 0x100544e2
movzx eax, byte [esi + 1]
mov cl, byte [esp + 0x14]
shl eax, cl
test al, al
jns 0x100544e9
or dword [edx + 0x18], 0x9000
mov cl, byte [esp + 0x15]
mov ebp, dword [esp + 0x24]
test cl, cl
je 0x1005454e
lea eax, [ebp - 0x20]
cmp eax, 3
ja case.default.0x100544fd
jmp dword [eax*4 + 0x10054914]
mov al, byte [esp + 0x14]
mov byte [esp + 0x11], 3
cmp al, 4
ja case.0x100545dd.197
cmp al, 1
jne case.0x100545dd.81
or dword [edx + 0x18], 0x11000
jmp case.0x100545dd.81
mov al, byte [esp + 0x14]
mov byte [esp + 0x11], 3
cmp al, 4
je case.0x100545dd.197
cmp al, 5
jne case.0x100545dd.81
or dword [edx + 0x18], 0x11000
jmp case.0x100545dd.81
mov eax, ebp
sub eax, 0x8c
je 0x1005461f
sub eax, 2
je 0x10054613
mov al, byte [esp + 0x11]
cmp al, 3
jne 0x100545c8
test cl, cl
mov ecx, 0x100ec2db
je 0x10054591
cmp byte [esp + 0x15], 0
mov edi, 0x100ec2ea
mov esi, 0x100ec314
cmovne ecx, edi
cmp ecx, esi
jne 0x10054596
mov ah, byte [esp + 0x12]
jmp 0x100545f3
mov esi, 0x100ec2ea
mov ah, byte [esp + 0x12]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
cmp al, ah
je 0x100545b0
add ecx, 2
cmp ecx, esi
jne 0x100545a0
jmp 0x100545ef
mov al, byte [esp + 0x13]
test byte [ecx], al
je 0x100545ef
movzx eax, byte [ecx + 1]
mov cl, byte [esp + 0x14]
shl eax, cl
test al, al
jns case.0x100545dd.197
jmp case.0x100545dd.81
test cl, cl
je 0x1005458b
lea eax, [ebp - 0x50]
cmp eax, 0xa7
ja case.0x100545dd.81
movzx eax, byte [eax + 0x10054934]
jmp dword [eax*4 + 0x10054924]
test byte [esp + 0x13], 9
jne case.0x100545dd.197
mov ah, byte [esp + 0x12]
mov al, byte [esp + 0x11]
mov ch, byte [ebx + 1]
add ebx, 2
cmp byte [esp + 0x14], 1
ja 0x10054639
cmp ah, 0xf6
jne 0x1005462f
or byte [esp + 0x18], 2
jmp 0x10054639
test byte [esp + 0x13], 6
jmp 0x100545e9
mov al, byte [esp + 0x14]
cmp al, 1
je case.0x100545dd.197
cmp al, 5
jmp 0x10054624
cmp byte [esp + 0x14], 5
jbe case.0x100545dd.81
or dword [edx + 0x18], 0x11000
jmp case.0x100545dd.81
cmp ah, 0xf7
jne 0x10054639
or byte [esp + 0x18], 0x10
mov cl, byte [esp + 0x13]
mov esi, 4
movzx eax, al
sub eax, 0
je 0x1005466c
sub eax, 1
je 0x10054665
sub eax, 1
jne 0x10054695
mov byte [esp + 0x1c], 2
test cl, 0x10
jne 0x10054695
mov byte [esp + 0x1c], 4
jmp 0x10054695
mov byte [esp + 0x1c], 1
jmp 0x10054695
test cl, 0x10
je 0x10054682
cmp byte [esp + 0x16], 6
setne al
sub al, 1
and eax, 0xffffff02
jmp 0x10054691
mov eax, dword [esp + 0x1c]
cmp byte [esp + 0x16], 5
movzx eax, al
cmove eax, esi
mov dword [esp + 0x1c], eax
mov ah, byte [esp + 0x11]
cmp ah, 3
je 0x100546de
cmp byte [esp + 0x16], 4
jne 0x100546de
test cl, 0x10
jne 0x100546de
or dword [edx + 0x18], 2
mov al, ch
shr al, 6
inc ebx
mov byte [edx + 0xd], al
mov al, ch
shr al, 3
mov byte [edx + 0xc], ch
and al, 7
and ch, 7
mov byte [edx + 0xe], al
mov byte [edx + 0xf], ch
cmp ch, 5
jne 0x100546de
test ah, 1
mov eax, dword [esp + 0x1c]
movzx eax, al
cmove eax, esi
jmp 0x100546e2
mov eax, dword [esp + 0x1c]
movzx esi, al
dec ebx
mov eax, esi
sub eax, 1
je 0x1005471e
sub eax, 1
je 0x1005470b
sub eax, 2
jne 0x10054727
mov eax, dword [ebx]
or dword [edx + 0x18], 0x80
add ebx, esi
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x18]
jmp 0x1005473d
mov ax, word [ebx]
or dword [edx + 0x18], 0x40
add ebx, esi
mov word [edx + 0x14], ax
mov eax, dword [esp + 0x18]
jmp 0x1005473d
mov al, byte [ebx]
or dword [edx + 0x18], 0x20
mov byte [edx + 0x14], al
mov eax, dword [esp + 0x18]
add ebx, esi
jmp 0x1005473d
test cl, 0x20
je 0x1005473d
or esi, 0x9000
mov dword [edx + 0x18], esi
pop edi
pop esi
pop ebp
test al, 0x10
je 0x10054790
and cl, 8
test al, 0x40
je 0x10054769
test cl, cl
je 0x100547dd
mov ax, word [ebx]
or dword [edx + 0x18], 0x108
add ebx, 2
mov word [edx + 0x10], ax
jmp 0x10054800
mov eax, dword [edx + 0x18]
test cl, cl
je 0x10054782
or eax, 8
mov dword [edx + 0x18], eax
mov ax, word [ebx]
add ebx, 2
mov word [edx + 0x10], ax
jmp 0x10054790
or eax, 0x10
mov dword [edx + 0x18], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edx + 0x10], eax
mov ecx, dword [esp + 0xc]
test cl, 4
je 0x100547c9
mov eax, dword [edx + 0x18]
movzx ecx, word [ebx]
test al, 0x10
je 0x100547a9
mov word [edx + 0x14], cx
jmp 0x100547bc
test al, 8
je 0x100547b8
mov word [edx + 0x14], cx
or eax, 0x800
jmp 0x100547bf
mov word [edx + 0x10], cx
or eax, 8
mov ecx, dword [esp + 0xc]
add ebx, 2
mov dword [edx + 0x18], eax
test cl, 2
je 0x100547d8
mov al, byte [ebx]
or dword [edx + 0x18], 4
inc ebx
mov byte [edx + 0x10], al
test cl, 0x40
je 0x100547ee
mov eax, dword [ebx]
or dword [edx + 0x18], 0x110
add ebx, 4
mov dword [edx + 0x10], eax
jmp 0x10054800
test cl, 0x20
je 0x10054800
mov al, byte [ebx]
or dword [edx + 0x18], 0x104
inc ebx
mov byte [edx + 0x10], al
sub bl, byte [esp + 0x20]
mov byte [edx], bl
cmp bl, 0xf
jbe 0x1005481f
or dword [edx + 0x18], 0x5000
mov al, 0xf
mov byte [edx], 0xf
movzx eax, al
pop ebx
add esp, 0x20
ret
movzx eax, bl
pop ebx
add esp, 0x20
ret