Function at 0x489990
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov edx, dword [ebp + 0xc]
xor al, al
push ebx
mov ebx, dword [ebp + 8]
mov ecx, 0x1c
push edi
mov edi, edx
mov dword [ebp - 0x10], 0x4ba560
rep stosb byte es:[edi], al
mov byte [ebp - 4], 0
mov cl, al
mov byte [ebp - 6], 0x10
lea ebx, [ebx]
mov ch, byte [ebx]
inc ebx
movzx eax, ch
sub eax, 0x26
mov byte [ebp - 1], ch
cmp eax, 0xcd
ja case.0x4899da.39
movzx eax, byte [eax + 0x489ee4]
jmp dword [eax*4 + 0x489ec8]
mov byte [edx + 1], ch
mov al, 4
jmp 0x489a09
mov byte [edx + 1], ch
mov al, 2
jmp 0x489a09
mov byte [edx + 2], ch
mov al, 0x20
jmp 0x489a09
mov byte [edx + 3], ch
mov al, 0x40
jmp 0x489a09
mov byte [edx + 4], ch
mov al, 8
jmp 0x489a09
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 0x4899c0
movzx eax, cl
shl eax, 0x17
mov byte [ebp - 2], cl
mov dword [edx + 0x18], eax
test cl, cl
jne 0x489a2c
mov cl, 1
mov byte [ebp - 2], cl
mov byte [edx + 6], ch
cmp ch, 0xf
jne 0x489a46
mov ch, byte [ebx]
inc ebx
mov byte [ebp - 1], ch
mov byte [edx + 7], ch
mov dword [ebp - 0x10], 0x4ba5aa
jmp 0x489a5e
mov al, ch
add al, 0x60
cmp al, 3
ja 0x489a5e
test cl, 0x10
je 0x489a58
or cl, 8
jmp 0x489a5b
and cl, 0xf7
mov byte [ebp - 2], cl
mov edx, dword [ebp - 0x10]
movzx eax, ch
mov edi, eax
mov dword [ebp - 0x14], eax
push esi
mov esi, eax
and edi, 3
mov eax, dword [ebp - 0x10]
shr esi, 2
movzx eax, byte [esi + eax]
add eax, edi
mov al, byte [eax + edx]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
cmp al, 0xff
jne 0x489aa8
mov eax, dword [ebp - 0x14]
or dword [edx + 0x18], 0x3000
and eax, 0xfffffffd
mov byte [ebp - 0xc], 0
cmp eax, 0x24
jne 0x489aa5
mov al, 1
mov dword [ebp - 0xc], eax
jmp 0x489aa8
mov eax, dword [ebp - 0xc]
mov byte [ebp - 0x18], 0
test al, al
jns 0x489ac9
mov edx, dword [ebp - 0x10]
movzx eax, al
and eax, 0x7f
movzx eax, word [eax + edx]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
shr eax, 8
mov dword [ebp - 0x18], eax
mov al, byte [edx + 7]
mov byte [ebp - 6], al
test al, al
je 0x489aea
movzx eax, byte [esi + str.JJJJKRJJJJOLJJJJJJJJUE_JJJEYMFJ_JJJJJJJJJJJJJJacgNJJkmJJEmJJDEJJ]
test byte [eax + edi + str.JJJJKRJJJJOLJJJJJJJJUE_JJJEYMFJ_JJJJJJJJJJJJJJacgNJJkmJJEmJJDEJJ], cl
je 0x489aea
or dword [edx + 0x18], 0x3000
mov eax, dword [ebp - 0xc]
test al, 1
je 0x489ddb
or dword [edx + 0x18], 1
mov cl, byte [ebx]
mov al, cl
mov byte [edx + 8], cl
shr al, 6
mov byte [ebp + 0xf], al
mov byte [edx + 9], al
mov al, cl
and al, 7
shr cl, 3
and cl, 7
mov byte [ebp - 5], al
mov byte [edx + 0xb], al
mov eax, dword [ebp - 0x18]
mov byte [ebp - 3], cl
mov byte [edx + 0xa], cl
test al, al
je 0x489b36
movzx eax, al
shl eax, cl
test al, al
jns 0x489b36
or dword [edx + 0x18], 0x3000
mov al, byte [ebp - 6]
test al, al
jne 0x489b83
mov al, ch
add al, 0x27
cmp al, 6
ja 0x489b80
mov al, ch
add al, 0x27
cmp byte [ebp + 0xf], 3
jne 0x489b65
movzx ecx, al
movzx eax, byte [ebp - 3]
mov al, byte [eax + ecx*8 + 0x4ba658]
mov cl, byte [ebp - 5]
mov ch, byte [ebp - 1]
jmp 0x489b6e
movzx eax, al
mov al, byte [eax + 0x4ba651]
shl al, cl
test al, al
mov al, byte [ebp - 6]
jns 0x489b83
or dword [edx + 0x18], 0x3000
jmp 0x489b83
mov al, byte [ebp - 6]
test byte [ebp - 2], 0x20
je 0x489bd1
cmp byte [ebp + 0xf], 3
je 0x489bca
mov cl, ch
test al, al
je 0x489ba1
mov esi, 0x4ba719
mov edi, 0x4ba72b
jmp 0x489bb0
mov cl, ch
mov esi, 0x4ba701
mov edi, 0x4ba719
and cl, 0xfe
cmp byte [esi], cl
je 0x489bbd
add esi, 2
cmp esi, edi
jne 0x489bb0
jmp 0x489bca
movzx eax, byte [esi + 1]
mov cl, byte [ebp - 3]
shl eax, cl
test al, al
jns 0x489bd1
or dword [edx + 0x18], 0x9000
mov cl, byte [ebp - 6]
mov esi, dword [ebp - 0x14]
test cl, cl
je 0x489c30
lea eax, [esi - 0x20]
cmp eax, 3
ja case.default.0x489be3
jmp dword [eax*4 + 0x489fb4]
mov al, byte [ebp - 3]
mov byte [ebp + 0xf], 3
cmp al, 4
ja case.0x489cab.197
cmp al, 1
jne case.0x489cab.81
or dword [edx + 0x18], 0x11000
jmp case.0x489cab.81
mov al, byte [ebp - 3]
mov byte [ebp + 0xf], 3
cmp al, 4
je case.0x489cab.197
cmp al, 5
jne case.0x489cab.81
or dword [edx + 0x18], 0x11000
jmp case.0x489cab.81
mov eax, esi
sub eax, 0x8c
je 0x489ce6
sub eax, 2
je 0x489cdb
mov al, byte [ebp + 0xf]
cmp al, 3
jne 0x489c96
test cl, cl
je 0x489c5d
mov ecx, 0x4ba73a
mov esi, 0x4ba764
jmp 0x489c67
mov ecx, 0x4ba72b
mov esi, 0x4ba73a
mov ah, byte [ebp - 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
cmp al, ah
je 0x489c80
add ecx, 2
cmp ecx, esi
jne 0x489c70
jmp 0x489cbb
mov al, byte [ebp - 2]
test byte [ecx], al
je 0x489cbb
movzx eax, byte [ecx + 1]
mov cl, byte [ebp - 3]
shl eax, cl
test al, al
jns case.0x489cab.197
jmp case.0x489cab.81
test cl, cl
je 0x489cf5
lea eax, [esi - 0x50]
cmp eax, 0xa7
ja case.0x489cab.81
movzx eax, byte [eax + 0x489fd4]
jmp dword [eax*4 + 0x489fc4]
test byte [ebp - 2], 9
jne case.0x489cab.197
mov ah, byte [ebp - 1]
mov al, byte [ebp + 0xf]
mov ch, byte [ebx + 1]
add ebx, 2
cmp byte [ebp - 3], 1
ja 0x489d03
cmp ah, 0xf6
jne 0x489cfa
or byte [ebp - 0xc], 2
jmp 0x489d03
test byte [ebp - 2], 6
jmp 0x489cb6
mov al, byte [ebp - 3]
cmp al, 1
je case.0x489cab.197
cmp al, 5
jmp 0x489cea
cmp byte [ebp - 3], 5
jbe case.0x489cab.81
or dword [edx + 0x18], 0x11000
jmp case.0x489cab.81
mov ah, byte [ebp - 1]
jmp 0x489cbe
cmp ah, 0xf7
jne 0x489d03
or byte [ebp - 0xc], 0x10
mov cl, byte [ebp - 2]
movzx eax, al
sub eax, 0
je 0x489d2d
sub eax, 1
je 0x489d24
sub eax, 1
mov al, byte [ebp - 5]
jne 0x489d50
mov byte [ebp - 4], 2
test cl, 0x10
jmp 0x489d4a
mov al, byte [ebp - 5]
mov byte [ebp - 4], 1
jmp 0x489d50
test cl, 0x10
je 0x489d45
cmp byte [ebp - 5], 6
setne al
dec al
and al, 2
mov byte [ebp - 4], al
mov al, byte [ebp - 5]
jmp 0x489d50
mov al, byte [ebp - 5]
cmp al, 5
jne 0x489d50
mov byte [ebp - 4], 4
cmp byte [ebp + 0xf], 3
je 0x489d8e
cmp al, 4
jne 0x489d8e
test cl, 0x10
jne 0x489d8e
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
jne 0x489d8e
test byte [ebp + 0xf], 1
mov al, 4
je 0x489d91
mov al, byte [ebp - 4]
movzx esi, al
dec ebx
mov eax, esi
sub eax, 1
je 0x489dcb
sub eax, 1
je 0x489db9
sub eax, 2
jne 0x489dd4
or dword [edx + 0x18], 0x80
mov eax, dword [ebx]
add ebx, esi
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0xc]
jmp 0x489de7
or dword [edx + 0x18], 0x40
mov ax, word [ebx]
add ebx, esi
mov word [edx + 0x14], ax
mov eax, dword [ebp - 0xc]
jmp 0x489de7
or dword [edx + 0x18], 0x20
mov al, byte [ebx]
mov byte [edx + 0x14], al
mov eax, dword [ebp - 0xc]
add ebx, esi
jmp 0x489de7
test cl, 0x20
je 0x489de7
or dword [edx + 0x18], 0x9000
pop esi
test al, 0x10
je 0x489e30
test al, 0x40
je 0x489e0f
test cl, 8
je 0x489e87
or dword [edx + 0x18], 0x108
mov ax, word [ebx]
add ebx, 2
mov word [edx + 0x10], ax
jmp 0x489eaa
test cl, 8
je 0x489e24
or dword [edx + 0x18], 8
mov ax, word [ebx]
add ebx, 2
mov word [edx + 0x10], ax
jmp 0x489e30
or dword [edx + 0x18], 0x10
mov eax, dword [ebx]
add ebx, 4
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xc]
test cl, 4
je 0x489e73
mov eax, dword [edx + 0x18]
test al, 0x10
je 0x489e4e
or eax, 8
mov dword [edx + 0x18], eax
mov ax, word [ebx]
mov word [edx + 0x14], ax
jmp 0x489e70
test al, 8
je 0x489e63
or eax, 0x800
mov dword [edx + 0x18], eax
mov ax, word [ebx]
mov word [edx + 0x14], ax
jmp 0x489e70
or eax, 8
mov dword [edx + 0x18], eax
mov ax, word [ebx]
mov word [edx + 0x10], ax
add ebx, 2
test cl, 2
je 0x489e82
or dword [edx + 0x18], 4
mov al, byte [ebx]
inc ebx
mov byte [edx + 0x10], al
test cl, 0x40
je 0x489e98
or dword [edx + 0x18], 0x110
mov eax, dword [ebx]
add ebx, 4
mov dword [edx + 0x10], eax
jmp 0x489eaa
test cl, 0x20
je 0x489eaa
or dword [edx + 0x18], 0x104
mov al, byte [ebx]
inc ebx
mov byte [edx + 0x10], al
sub ebx, dword [ebp + 8]
pop edi
mov byte [edx], bl
cmp bl, 0xf
pop ebx
jbe 0x489ec0
or dword [edx + 0x18], 0x5000
mov byte [edx], 0xf
movzx eax, byte [edx]
mov esp, ebp
pop ebp
ret