Function at 0x1000d270
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov edx, dword [ebp + 0xc]
xor al, al
push ebx
mov ebx, dword [ebp + 8]
mov ecx, 0x1c
push edi
mov edi, edx
mov byte [ebp - 2], 0
rep stosb byte es:[edi], al
mov dword [ebp - 0x18], 0x1013b5d0
mov cl, 0x10
mov byte [ebp - 0x10], 0
nop word [eax + eax]
mov ch, byte [ebx]
inc ebx
movzx eax, ch
sub eax, 0x26
mov byte [ebp - 1], ch
cmp eax, 0xcd
ja case.0x1000d2ba.39
movzx eax, byte [eax + 0x1000d7ec]
jmp dword [eax*4 + 0x1000d7d0]
or byte [ebp - 2], 4
mov byte [edx + 1], ch
jmp 0x1000d2f5
or byte [ebp - 2], 2
mov byte [edx + 1], ch
jmp 0x1000d2f5
or byte [ebp - 2], 0x20
mov byte [edx + 2], ch
jmp 0x1000d2f5
or byte [ebp - 2], 0x40
mov byte [edx + 3], ch
jmp 0x1000d2f5
or byte [ebp - 2], 8
mov byte [edx + 4], ch
jmp 0x1000d2f5
or byte [ebp - 2], 0x10
mov byte [edx + 5], ch
add cl, 0xff
jne 0x1000d2a0
mov cl, byte [ebp - 2]
movzx eax, cl
shl eax, 0x17
test cl, cl
mov dword [edx + 0x18], eax
push esi
movzx eax, cl
mov esi, 1
cmove eax, esi
mov byte [edx + 6], ch
mov dword [ebp - 0xc], eax
cmp ch, 0xf
jne 0x1000d331
mov ch, byte [ebx]
inc ebx
mov byte [ebp - 1], ch
mov byte [edx + 7], ch
mov dword [ebp - 0x18], 0x1013b61a
jmp 0x1000d34b
mov al, ch
add al, 0x60
cmp al, 3
ja 0x1000d34b
mov eax, dword [ebp - 0xc]
test al, 0x10
je 0x1000d345
or eax, 8
jmp 0x1000d348
and eax, 0xfffffff7
mov dword [ebp - 0xc], eax
movzx eax, ch
mov edi, eax
mov dword [ebp - 0x1c], eax
mov esi, eax
shr edi, 2
and esi, reloc.WS2_32.dll_closesocket
jns 0x1000d365
dec esi
or esi, 0xfffffffc
inc esi
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x20], esi
movzx eax, byte [edi + eax]
add eax, esi
mov al, byte [eax + edx]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
cmp al, 0xff
jne 0x1000d3a9
mov eax, dword [ebp - 0x1c]
xor cl, cl
or dword [edx + 0x18], 0x3000
and eax, 0xfffffffd
movzx esi, cl
cmp eax, 0x24
mov dword [ebp - 0x14], esi
mov eax, esi
mov esi, 1
cmove eax, esi
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x20], 0
test al, al
jns 0x1000d3ca
mov edx, dword [ebp - 0x18]
movzx eax, al
and eax, 0x7f
movzx eax, word [eax + edx]
mov edx, dword [ebp + 0xc]
mov byte [ebp - 0x14], al
shr eax, 8
mov dword [ebp - 0x20], eax
mov al, byte [edx + 7]
mov byte [ebp - 5], al
test al, al
je 0x1000d3f1
movzx eax, byte [edi + str.JJJJKRJJJJOLJJJJJJJJUE_JJJEYMFJ_JJJJJJJJJJJJJJacgNJJkmJJEmJJDEJJ]
mov edx, dword [ebp - 0xc]
test byte [eax + esi + str.JJJJKRJJJJOLJJJJJJJJUE_JJJEYMFJ_JJJJJJJJJJJJJJacgNJJkmJJEmJJDEJJ], dl
mov edx, dword [ebp + 0xc]
je 0x1000d3f1
or dword [edx + 0x18], 0x3000
mov eax, dword [ebp - 0x14]
test al, 1
je 0x1000d6e0
or dword [edx + 0x18], 1
mov cl, byte [ebx]
mov al, cl
mov byte [edx + 8], cl
shr al, 6
mov byte [ebp - 4], al
mov byte [edx + 9], al
mov al, cl
and al, 7
shr cl, 3
and cl, 7
mov byte [ebp - 3], al
mov byte [edx + 0xb], al
mov eax, dword [ebp - 0x20]
mov byte [ebp - 2], cl
mov byte [edx + 0xa], cl
test al, al
je 0x1000d43d
movzx eax, al
shl eax, cl
test al, al
jns 0x1000d43d
or dword [edx + 0x18], 0x3000
mov al, byte [ebp - 5]
test al, al
jne 0x1000d48a
mov al, ch
add al, 0x27
cmp al, 6
ja 0x1000d487
mov al, ch
add al, 0x27
cmp byte [ebp - 4], 3
jne 0x1000d46c
movzx ecx, al
movzx eax, byte [ebp - 2]
mov al, byte [eax + ecx*8 + 0x1013b6c8]
mov cl, byte [ebp - 3]
mov ch, byte [ebp - 1]
jmp 0x1000d475
movzx eax, al
mov al, byte [eax + 0x1013b6c1]
shl al, cl
test al, al
mov al, byte [ebp - 5]
jns 0x1000d48a
or dword [edx + 0x18], 0x3000
jmp 0x1000d48a
mov al, byte [ebp - 5]
test byte [ebp - 0xc], 0x20
je 0x1000d4d8
cmp byte [ebp - 4], 3
je 0x1000d4d1
mov cl, ch
test al, al
je 0x1000d4a8
mov esi, 0x1013b789
mov edi, 0x1013b79b
jmp 0x1000d4b7
mov cl, ch
mov esi, 0x1013b771
mov edi, 0x1013b789
and cl, 0xfe
cmp byte [esi], cl
je 0x1000d4c4
add esi, 2
cmp esi, edi
jne 0x1000d4b7
jmp 0x1000d4d1
movzx eax, byte [esi + 1]
mov cl, byte [ebp - 2]
shl eax, cl
test al, al
jns 0x1000d4d8
or dword [edx + 0x18], 0x9000
mov cl, byte [ebp - 5]
mov esi, dword [ebp - 0x1c]
test cl, cl
je 0x1000d529
lea eax, [esi - 0x20]
cmp eax, 3
ja case.default.0x1000d4ea
jmp dword [eax*4 + 0x1000d8bc]
mov al, byte [ebp - 2]
mov byte [ebp - 4], 3
cmp al, 4
ja case.0x1000d59e.197
cmp al, 1
jne case.0x1000d59e.81
jmp case.0x1000d59e.197
mov al, byte [ebp - 2]
mov byte [ebp - 4], 3
cmp al, 4
je case.0x1000d59e.197
cmp al, 5
jne case.0x1000d59e.81
jmp case.0x1000d59e.197
mov eax, esi
sub eax, 0x8c
je 0x1000d5c0
sub eax, 2
je 0x1000d5b5
cmp byte [ebp - 4], 3
jne 0x1000d589
test cl, cl
je 0x1000d551
mov ecx, 0x1013b7aa
mov esi, 0x1013b7d4
jmp 0x1000d55b
mov ecx, 0x1013b79b
mov esi, 0x1013b7aa
mov ah, byte [ebp - 1]
nop
mov al, byte [ecx]
cmp al, ah
je 0x1000d56f
add ecx, 3
cmp ecx, esi
jne 0x1000d560
jmp 0x1000d5d0
mov edx, dword [ebp - 0xc]
test byte [ecx + 1], dl
mov edx, dword [ebp + 0xc]
je 0x1000d5d0
movzx eax, byte [ecx + 2]
mov cl, byte [ebp - 2]
shl eax, cl
test al, al
jns case.0x1000d59e.197
jmp case.0x1000d59e.81
test cl, cl
je case.0x1000d59e.81
lea eax, [esi - 0x50]
cmp eax, 0xa7
ja case.0x1000d59e.81
movzx eax, byte [eax + 0x1000d8dc]
jmp dword [eax*4 + 0x1000d8cc]
test byte [ebp - 0xc], 9
jne case.0x1000d59e.197
jmp case.0x1000d59e.81
test byte [ebp - 0xc], 6
jne case.0x1000d59e.197
jmp case.0x1000d59e.81
mov al, byte [ebp - 2]
cmp al, 1
je case.0x1000d59e.197
cmp al, 5
jmp 0x1000d5c4
cmp byte [ebp - 2], 5
jbe case.0x1000d59e.81
or dword [edx + 0x18], 0x11000
mov ah, byte [ebp - 1]
mov al, byte [ebx + 1]
add ebx, 2
cmp byte [ebp - 2], 1
mov byte [ebp + 0xf], al
ja 0x1000d5f3
cmp ah, 0xf6
jne 0x1000d5ea
or byte [ebp - 0x14], 2
jmp 0x1000d5f3
cmp ah, 0xf7
jne 0x1000d5f3
or byte [ebp - 0x14], 0x10
movzx eax, byte [ebp - 4]
mov esi, 4
mov ecx, dword [ebp - 0xc]
sub eax, 0
je 0x1000d626
sub eax, 1
je 0x1000d620
sub eax, 1
mov al, byte [ebp - 3]
jne 0x1000d64b
mov byte [ebp - 0x10], 2
test cl, 0x10
jne 0x1000d64b
mov byte [ebp - 0x10], 4
jmp 0x1000d64b
mov byte [ebp - 0x10], 1
jmp 0x1000d648
test cl, 0x10
je 0x1000d638
mov al, byte [ebp - 3]
cmp al, 6
jne 0x1000d64b
mov byte [ebp - 0x10], 2
jmp 0x1000d64b
mov eax, dword [ebp - 0x10]
cmp byte [ebp - 3], 5
movzx eax, al
cmove eax, esi
mov dword [ebp - 0x10], eax
mov al, byte [ebp - 3]
cmp byte [ebp - 4], 3
je 0x1000d693
cmp al, 4
jne 0x1000d693
test cl, 0x10
jne 0x1000d693
mov ah, byte [ebp + 0xf]
inc ebx
or dword [edx + 0x18], 2
mov al, ah
shr al, 6
mov byte [edx + 0xd], al
mov al, ah
shr al, 3
and al, 7
mov byte [edx + 0xc], ah
mov byte [edx + 0xe], al
movzx eax, ah
and eax, 7
mov byte [edx + 0xf], al
cmp al, 5
mov eax, dword [ebp - 0x10]
jne 0x1000d696
test byte [ebp - 4], 1
movzx eax, al
cmove eax, esi
jmp 0x1000d696
mov eax, dword [ebp - 0x10]
movzx esi, al
dec ebx
mov eax, esi
sub eax, 1
je 0x1000d6d0
sub eax, 1
je 0x1000d6be
sub eax, 2
jne 0x1000d6d9
or dword [edx + 0x18], 0x80
mov eax, dword [ebx]
add ebx, esi
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0x14]
jmp 0x1000d6ef
or dword [edx + 0x18], 0x40
mov ax, word [ebx]
add ebx, esi
mov word [edx + 0x14], ax
mov eax, dword [ebp - 0x14]
jmp 0x1000d6ef
or dword [edx + 0x18], 0x20
mov al, byte [ebx]
mov byte [edx + 0x14], al
mov eax, dword [ebp - 0x14]
add ebx, esi
jmp 0x1000d6ef
mov ecx, dword [ebp - 0xc]
test cl, 0x20
je 0x1000d6ef
or dword [edx + 0x18], 0x9000
pop esi
test al, 0x10
je 0x1000d738
test al, 0x40
je 0x1000d717
test cl, 8
je 0x1000d78f
or dword [edx + 0x18], 0x108
mov ax, word [ebx]
add ebx, 2
mov word [edx + 0x10], ax
jmp 0x1000d7b2
test cl, 8
je 0x1000d72c
or dword [edx + 0x18], 8
mov ax, word [ebx]
add ebx, 2
mov word [edx + 0x10], ax
jmp 0x1000d738
or dword [edx + 0x18], 0x10
mov eax, dword [ebx]
add ebx, 4
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0x14]
test cl, 4
je 0x1000d77b
mov eax, dword [edx + 0x18]
test al, 0x10
je 0x1000d756
or eax, 8
mov dword [edx + 0x18], eax
mov ax, word [ebx]
mov word [edx + 0x14], ax
jmp 0x1000d778
test al, 8
je 0x1000d76b
or eax, 0x800
mov dword [edx + 0x18], eax
mov ax, word [ebx]
mov word [edx + 0x14], ax
jmp 0x1000d778
or eax, 8
mov dword [edx + 0x18], eax
mov ax, word [ebx]
mov word [edx + 0x10], ax
add ebx, 2
test cl, 2
je 0x1000d78a
or dword [edx + 0x18], 4
mov al, byte [ebx]
inc ebx
mov byte [edx + 0x10], al
test cl, 0x40
je 0x1000d7a0
or dword [edx + 0x18], 0x110
mov eax, dword [ebx]
add ebx, 4
mov dword [edx + 0x10], eax
jmp 0x1000d7b2
test cl, 0x20
je 0x1000d7b2
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 0x1000d7c8
or dword [edx + 0x18], 0x5000
mov byte [edx], 0xf
movzx eax, byte [edx]
mov esp, ebp
pop ebp
ret