Function at 0x100084d0
Capabilities:
Check for software breakpoints

Disassembly:
sub esp, 0x18
push ebx
mov ebx, dword [esp + 0x20]
push esi
mov esi, dword [esp + 0x28]
push edi
push 0x1c
push esi
mov byte [esp + 0x34], 0
mov edi, 0x1000e1a8
mov byte [esp + 0x18], 0
call sub.NTDLL.dll_RtlZeroMemory
mov dh, byte [esp + 0x2c]
mov cl, 0x10
nop dword [eax + eax]
mov dl, byte [ebx]
inc ebx
movzx eax, dl
sub eax, 0x26
cmp eax, 0xcd
ja case.0x10008517.39
movzx eax, byte [eax + 0x10008a60]
jmp dword [eax*4 + 0x10008a44]
mov byte [esi + 1], dl
mov al, 4
jmp 0x10008546
mov byte [esi + 1], dl
mov al, 2
jmp 0x10008546
mov byte [esi + 2], dl
mov al, 0x20
jmp 0x10008546
mov byte [esi + 3], dl
mov al, 0x40
jmp 0x10008546
mov byte [esi + 4], dl
mov al, 8
jmp 0x10008546
mov byte [esi + 5], dl
mov al, 0x10
or dh, al
add cl, 0xff
jne 0x10008500
push ebp
movzx ebp, dh
mov ecx, 1
shl ebp, 0x17
test dh, dh
movzx eax, dh
cmovne ecx, eax
mov dword [esi + 0x18], ebp
mov byte [esi + 6], dl
mov dh, cl
cmp dl, 0xf
jne 0x1000857b
mov dl, byte [ebx]
mov edi, 0x1000e1f2
mov byte [esi + 7], dl
inc ebx
jmp 0x10008594
cmp dl, 0xa0
jb 0x10008594
mov dh, cl
cmp dl, 0xa3
ja 0x10008594
test cl, 0x10
je 0x10008591
or dh, 8
jmp 0x10008594
and dh, 0xf7
movzx ecx, dl
mov eax, ecx
mov dword [esp + 0x20], ecx
shr eax, 2
mov dword [esp + 0x30], eax
and ecx, 0x80000003
jns 0x100085b1
dec ecx
or ecx, 0xfffffffc
inc ecx
movzx eax, byte [eax + edi]
add eax, ecx
mov dword [esp + 0x24], ecx
mov cl, byte [eax + edi]
mov dword [esp + 0x18], ecx
cmp cl, 0xff
jne 0x100085eb
mov eax, dword [esp + 0x20]
or ebp, 0x3000
xor cl, cl
mov dword [esi + 0x18], ebp
and eax, 0xfffffffd
mov dword [esp + 0x18], ecx
cmp eax, 0x24
jne 0x100085eb
mov cl, 1
mov byte [esp + 0x1c], 0
jmp 0x10008607
mov byte [esp + 0x1c], 0
test cl, cl
jns 0x1000860b
movzx eax, cl
and eax, 0x7f
movzx ecx, word [eax + edi]
mov eax, ecx
shr eax, 8
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
cmp byte [esi + 7], 0
mov edi, ebp
je 0x10008638
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
movzx eax, byte [eax + str.JJJJKRJJJJOLJJJJJJJJUE_JJJEYMFJ_JJJJJJJJJJJJJJacgNJJkmJJEmJJDEJJ]
test byte [eax + ecx + str.JJJJKRJJJJOLJJJJJJJJUE_JJJEYMFJ_JJJJJJJJJJJJJJacgNJJkmJJEmJJDEJJ], dh
mov ecx, dword [esp + 0x18]
je 0x10008638
or edi, 0x3000
mov dword [esi + 0x18], edi
test cl, 1
je 0x10008941
or edi, 1
mov dword [esi + 0x18], edi
mov ebp, edi
mov cl, byte [ebx]
mov al, cl
mov byte [esi + 8], cl
shr al, 6
mov byte [esp + 0x11], al
mov byte [esi + 9], al
mov al, cl
and al, 7
shr cl, 3
and cl, 7
mov byte [esp + 0x10], al
mov byte [esi + 0xb], al
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x30], cl
mov byte [esi + 0xa], cl
test al, al
je 0x1000868c
movzx eax, al
shl eax, cl
test al, al
jns 0x1000868c
or ebp, 0x3000
mov dword [esi + 0x18], ebp
mov ch, byte [esi + 7]
mov eax, ebp
test ch, ch
jne 0x100086dc
cmp dl, 0xd9
jb 0x100086dc
cmp dl, 0xdf
ja 0x100086dc
mov al, dl
movzx ecx, cl
add al, 0x27
cmp byte [esp + 0x11], 3
movzx eax, al
jne 0x100086bd
mov ch, byte [ecx + eax*8 + 0x1000e2a0]
mov cl, byte [esp + 0x10]
jmp 0x100086c9
mov al, byte [eax + 0x1000e299]
mov byte [esp + 0x13], al
mov ch, al
shl ch, cl
mov eax, ebp
test ch, ch
mov ch, byte [esi + 7]
jns 0x100086dc
or eax, 0x3000
mov dword [esi + 0x18], eax
test dh, 0x20
je 0x10008733
cmp byte [esp + 0x11], 3
jne 0x100086f2
or eax, 0x9000
mov dword [esi + 0x18], eax
jmp 0x10008733
mov ah, dl
test ch, ch
jne 0x10008707
and ah, 0xfe
mov edi, 0x1000e361
mov ecx, 0x1000e349
jmp 0x10008711
mov edi, 0x1000e373
mov ecx, 0x1000e361
mov al, byte [ecx]
inc ecx
cmp al, ah
je 0x1000871f
inc ecx
cmp ecx, edi
jne 0x10008711
jmp 0x1000872c
movzx eax, byte [ecx]
mov cl, byte [esp + 0x30]
shl eax, cl
test al, al
jns 0x10008733
or dword [esi + 0x18], 0x9000
mov cl, byte [esi + 7]
mov ebp, dword [esp + 0x20]
test cl, cl
je 0x10008789
lea eax, [ebp - 0x20]
cmp eax, 3
ja case.default.0x10008746
jmp dword [eax*4 + 0x10008b30]
mov al, byte [esp + 0x30]
mov byte [esp + 0x11], 3
cmp al, 4
ja case.0x100087f9.197
cmp al, 1
jne case.0x100087f9.81
jmp case.0x100087f9.197
mov al, byte [esp + 0x30]
mov byte [esp + 0x11], 3
cmp al, 4
je case.0x100087f9.197
cmp al, 5
jne case.0x100087f9.81
jmp case.0x100087f9.197
mov eax, ebp
sub eax, 0x8c
je 0x1000881a
sub eax, 2
je 0x1000880e
cmp byte [esp + 0x11], 3
jne 0x100087e4
test cl, cl
je 0x100087b2
mov edi, str.rfusclient.exe
mov ecx, 0x1000e382
jmp 0x100087c0
mov edi, 0x1000e382
mov ecx, 0x1000e373
nop dword [eax]
mov al, byte [ecx]
inc ecx
cmp al, dl
je 0x100087d0
add ecx, 2
cmp ecx, edi
jne 0x100087c0
jmp case.0x100087f9.81
test byte [ecx], dh
je case.0x100087f9.81
movzx eax, byte [ecx + 1]
mov cl, byte [esp + 0x30]
shl eax, cl
test al, al
jns case.0x100087f9.197
jmp case.0x100087f9.81
test cl, cl
je case.0x100087f9.81
lea eax, [ebp - 0x50]
cmp eax, 0xa7
ja case.0x100087f9.81
movzx eax, byte [eax + 0x10008b50]
jmp dword [eax*4 + 0x10008b40]
test dh, 9
jne case.0x100087f9.197
jmp case.0x100087f9.81
test dh, 6
jne case.0x100087f9.197
jmp case.0x100087f9.81
mov al, byte [esp + 0x30]
cmp al, 1
je case.0x100087f9.197
cmp al, 5
jmp 0x1000881f
cmp byte [esp + 0x30], 5
jbe case.0x100087f9.81
or dword [esi + 0x18], 0x11000
mov cl, byte [ebx + 1]
add ebx, 2
cmp byte [esp + 0x30], 1
ja 0x10008851
cmp dl, 0xf6
jne 0x10008842
mov eax, dword [esp + 0x18]
or al, 2
jmp 0x1000884d
cmp dl, 0xf7
jne 0x10008851
mov eax, dword [esp + 0x18]
or al, 0x10
mov dword [esp + 0x18], eax
mov dl, byte [esp + 0x11]
mov edi, 4
mov ch, byte [esp + 0x10]
movzx eax, dl
sub eax, 0
je 0x10008888
sub eax, 1
je 0x10008881
sub eax, 1
jne 0x100088ad
mov byte [esp + 0x14], 2
test dh, 0x10
jne 0x100088ad
mov byte [esp + 0x14], 4
jmp 0x100088ad
mov byte [esp + 0x14], 1
jmp 0x100088ad
test dh, 0x10
je 0x1000889c
cmp ch, 6
setne al
sub al, 1
and eax, 0xffffff02
jmp 0x100088a9
mov eax, dword [esp + 0x14]
cmp ch, 5
movzx eax, al
cmove eax, edi
mov dword [esp + 0x14], eax
cmp dl, 3
je 0x100088f0
cmp ch, 4
jne 0x100088f0
test dh, 0x10
jne 0x100088f0
or dword [esi + 0x18], 2
mov al, cl
shr al, 6
inc ebx
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 + 0x14]
mov byte [esi + 0xf], cl
cmp cl, 5
jne 0x100088f4
test dl, 1
movzx eax, al
cmove eax, edi
jmp 0x100088f4
mov eax, dword [esp + 0x14]
movzx ecx, al
dec ebx
mov eax, ecx
sub eax, 1
je 0x10008930
sub eax, 1
je 0x1000891d
sub eax, 2
jne 0x10008939
or dword [esi + 0x18], 0x80
mov eax, dword [ebx]
add ebx, ecx
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x14], eax
jmp 0x1000894f
or dword [esi + 0x18], 0x40
mov ax, word [ebx]
add ebx, ecx
mov ecx, dword [esp + 0x18]
mov word [esi + 0x14], ax
jmp 0x1000894f
or dword [esi + 0x18], 0x20
mov al, byte [ebx]
mov byte [esi + 0x14], al
add ebx, ecx
mov ecx, dword [esp + 0x18]
jmp 0x1000894f
test dh, 0x20
je 0x1000894f
or edi, 0x9000
mov dword [esi + 0x18], edi
pop ebp
test cl, 0x10
je 0x100089a2
and dh, 8
test cl, 0x40
je 0x1000897b
test dh, dh
je 0x100089f6
or dword [esi + 0x18], 0x108
mov ax, word [ebx]
add ebx, 2
mov word [esi + 0x10], ax
jmp 0x10008a19
mov eax, dword [esi + 0x18]
test dh, dh
je 0x10008994
or eax, 8
mov dword [esi + 0x18], eax
mov ax, word [ebx]
add ebx, 2
mov word [esi + 0x10], ax
jmp 0x100089a2
or eax, 0x10
mov dword [esi + 0x18], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [esi + 0x10], eax
test cl, 4
je 0x100089e2
mov eax, dword [esi + 0x18]
test al, 0x10
je 0x100089bd
or eax, 8
mov dword [esi + 0x18], eax
mov ax, word [ebx]
mov word [esi + 0x14], ax
jmp 0x100089df
test al, 8
je 0x100089d2
or eax, 0x800
mov dword [esi + 0x18], eax
mov ax, word [ebx]
mov word [esi + 0x14], ax
jmp 0x100089df
or eax, 8
mov dword [esi + 0x18], eax
mov ax, word [ebx]
mov word [esi + 0x10], ax
add ebx, 2
test cl, 2
je 0x100089f1
or dword [esi + 0x18], 4
mov al, byte [ebx]
inc ebx
mov byte [esi + 0x10], al
test cl, 0x40
je 0x10008a07
or dword [esi + 0x18], 0x110
mov eax, dword [ebx]
add ebx, 4
mov dword [esi + 0x10], eax
jmp 0x10008a19
test cl, 0x20
je 0x10008a19
or dword [esi + 0x18], 0x104
mov al, byte [ebx]
inc ebx
mov byte [esi + 0x10], al
sub bl, byte [esp + 0x28]
mov byte [esi], bl
cmp bl, 0xf
jbe 0x10008a3a
or dword [esi + 0x18], 0x5000
mov al, 0xf
pop edi
mov byte [esi], 0xf
pop esi
movzx eax, al
pop ebx
add esp, 0x18
ret
pop edi
pop esi
movzx eax, bl
pop ebx
add esp, 0x18
ret