Function at 0x10087220
Capabilities:
Check for software breakpoints
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100b7fc6
mov eax, dword fs:[0]
push eax
sub esp, 0xf0
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0xe8], eax
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x100]
mov dword fs:[0], eax
mov dword [esp + 0x28], edx
mov eax, ecx
mov dword [esp + 0x30], eax
mov esi, dword [eax]
mov edx, dword [edx + 0x14]
mov eax, dword [eax + 4]
mov dword [esp + 0x34], eax
test edx, edx
je 0x10087282
mov ecx, dword [edx + 0x84]
jmp 0x10087284
xor ecx, ecx
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
test ax, ax
je 0x10088ce9
mov ebx, dword [ebp + 0xc]
mov eax, 0xffff
cmp bx, ax
je 0x10088ce9
test edx, edx
je 0x100872b3
mov ecx, dword [edx + 0x84]
jmp 0x100872b5
xor ecx, ecx
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
cmp bx, ax
jae 0x10088ce9
mov edi, dword [ebp + 8]
cmp edi, dword [esp + 0x34]
ja 0x10088ce9
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x54]
mov dword [esp + 0x54], 0
push eax
push ebx
mov dword [esp + 0x4c], 0
call fcn.10095250
test al, al
je 0x10088ce9
mov edx, dword [esp + 0x28]
xor ah, ah
xor al, al
mov byte [esp + 0x17], ah
mov byte [esp + 0x1b], al
mov eax, dword [esp + 0x40]
mov dword [esp + 0x74], eax
mov eax, dword [edx + 0x14]
mov byte [esp + 0x18], 0
mov byte [esp + 0x19], 0
mov byte [esp + 0x1a], 0
mov byte [esp + 0x16], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0x1388
mov dword [esp + 0x4c], 0
test eax, eax
je 0x10087353
mov ecx, dword [eax + 0x84]
jmp 0x10087355
xor ecx, ecx
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
mov ecx, edx
sar eax, 2
dec eax
movzx eax, ax
mov dword [esp + 0x40], eax
call fcn.100952e0
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x48], eax
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x10087387
mov ecx, dword [eax + 0x84]
jmp 0x10087389
xor ecx, ecx
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
movzx ecx, ax
dec ecx
movzx eax, bx
mov dword [esp + 0x78], ecx
cmp eax, ecx
je 0x10088ce9
push str..rsrc
lea ecx, [esp + 0xe4]
mov dword [esp + 0x48], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
call fcn.10093bd0
mov dword [esp + 0x108], 0
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x100873ec
mov ecx, dword [eax + 0x84]
jmp 0x100873ee
xor ecx, ecx
push ecx
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0xe8]
push eax
call fcn.100955d0
test al, al
sete bl
mov dword [esp + 0x108], 0xffffffff
lea ecx, [esp + 0xe0]
call fcn.10093c30
test bl, bl
jne 0x10088ce9
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x4c]
call fcn.10095250
test al, al
je 0x10088ce9
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x10087457
mov ebx, dword [eax + 0x84]
jmp 0x10087459
xor ebx, ebx
call fcn.10095290
movzx eax, ax
mov ecx, ebx
push eax
call fcn.100955a0
mov eax, dword [eax]
cmp dword [eax + 0x10], 0x5000
jb 0x10088ce9
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x7c]
push edi
push dword [eax + 4]
push dword [eax]
call fcn.1001d150
push edi
lea ecx, [esp + 0x80]
call fcn.1001d110
mov dword [esp + 0x3c], 9
mov ecx, dword [esp + 0x74]
mov dl, byte [esp + 0x18]
cmp edi, ecx
jae 0x10088cb6
test dl, dl
je 0x100874da
mov ah, byte [esp + 0x19]
test ah, ah
je 0x100874da
mov dh, byte [esp + 0x1a]
mov bh, byte [esp + 0x17]
test dh, dh
je 0x100874de
mov bl, byte [esp + 0x16]
test bl, bl
je 0x100874de
test bh, bh
jne 0x10088cc6
jmp 0x100874de
mov bh, byte [esp + 0x17]
mov bl, byte [esp + 0x1b]
lea eax, [edi + 4]
mov dword [esp + 0x2c], eax
cmp eax, ecx
jae 0x10087684
cmp dword [esp + 0x54], 0x28
jl 0x10087684
test bl, bl
jne 0x10087684
cmp byte [edi + esi], 0xe9
jne 0x10087684
lea ecx, [esi + 1]
mov ebx, edi
add ecx, edi
call fcn.1001ca30
mov dword [esp + 0x38], eax
cmp eax, 0x5000
jae 0x1008753f
mov edi, dword [esp + 0x2c]
lea ecx, [esp + 0x7c]
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov bl, byte [esp + 0x16]
jmp 0x10087663
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x108], 1
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x2c]
push edi
mov ecx, dword [eax + 0x14]
call fcn.100979a0
test al, al
jne 0x100875a9
mov edi, dword [esp + 0x2c]
lea eax, [edi + 1]
push eax
lea ecx, [esp + 0x80]
call fcn.1001d110
mov dword [esp + 0x108], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.100941a0
mov bl, byte [esp + 0x16]
jmp 0x10087663
mov edx, dword [esp + 0x60]
mov ecx, edx
mov eax, dword [esp + 0x5c]
sub ecx, eax
and ecx, 0xfffffff8
cmp ecx, 8
je 0x100875d4
cmp eax, edx
je 0x100875d6
mov ecx, dword [esp + 0x40]
cmp word [eax + 4], cx
je 0x100875d4
add eax, 8
cmp eax, edx
jne 0x100875c5
jmp 0x100875d6
mov ebx, dword [eax]
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x24]
push 1
push ecx
add eax, 5
lea ecx, [esp + 0x28]
add eax, ebx
push ecx
mov ecx, dword [esp + 0x34]
push eax
mov dword [esp + 0x30], eax
call fcn.100951f0
test al, al
je 0x10087578
movzx eax, word [esp + 0x24]
cmp eax, dword [esp + 0x78]
jne 0x10087633
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x34]
dec edi
mov byte [esp + 0x1b], 1
mov dword [esp + 0x74], eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0x96
jmp 0x1008757c
mov dword [esp + 0x108], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.100941a0
mov bl, byte [esp + 0x16]
lea edx, [esp + 0x5b]
lea ecx, [esp + 0x7c]
call fcn.100ae1f0
test eax, eax
je 0x10088ce9
dec edi
add edi, eax
mov bh, byte [esp + 0x17]
mov eax, dword [esp + 0x54]
inc edi
inc eax
mov dword [esp + 0x54], eax
cmp eax, dword [esp + 0x50]
jl 0x100874a0
mov dl, byte [esp + 0x18]
jmp 0x10088cbe
lea eax, [edi + 3]
mov dword [esp + 0x1c], eax
cmp eax, ecx
jae 0x100876b9
test bl, bl
je 0x100876b9
test dl, dl
jne 0x100876b9
cmp byte [edi + esi], 0x83
jne 0x100876b9
cmp byte [edi + esi + 1], 0x3c
jne 0x100876b9
cmp byte [edi + esi + 2], 0x24
jne 0x100876b9
cmp byte [edi + esi + 3], 0xff
jne 0x100876b9
mov byte [esp + 0x18], 1
jmp 0x10087647
lea eax, [edi + 6]
mov dword [esp + 0x30], eax
cmp eax, ecx
jae 0x100876ef
test bl, bl
je 0x100876ef
test dl, dl
jne 0x100876ef
cmp byte [edi + esi], 0x83
jne 0x100876ef
mov al, byte [edi + esi + 1]
cmp al, 0xb8
jb 0x100876ef
cmp al, 0xbf
ja 0x100876ef
cmp byte [edi + esi + 6], 5
jne 0x100876ef
mov byte [esp + 0x18], 1
jmp 0x10087647
mov al, byte [esp + 0x18]
lea edx, [edi + 1]
mov dword [esp + 0x38], edx
cmp edx, ecx
jae 0x1008773a
test bl, bl
je 0x1008773a
test al, al
jne 0x1008773a
cmp byte [edi + esi], 0x3b
jne 0x1008773a
mov al, byte [edi + esi + 1]
cmp al, 0xc0
jb 0x10087736
cmp al, 0xff
ja 0x10087736
movzx eax, al
sub eax, 0xc0
cdq
idiv dword [esp + 0x3c]
test edx, edx
jne 0x10087733
mov byte [esp + 0x18], 1
jmp 0x10087647
lea edx, [edi + 1]
mov al, byte [esp + 0x18]
cmp dword [esp + 0x1c], ecx
jae 0x10087766
test bl, bl
je 0x10087766
test al, al
jne 0x10087766
cmp byte [edi + esi], 0xff
jne 0x10087766
cmp byte [edi + esi + 1], 0x74
jne 0x10087766
cmp byte [edi + esi + 2], 0x24
jne 0x10087766
mov byte [esp + 0x18], 1
jmp 0x10087647
lea eax, [edi + 2]
mov dword [esp + 0x20], eax
cmp eax, ecx
jae 0x100877c0
test bl, bl
je 0x10087793
cmp byte [esp + 0x18], 0
jne 0x10087793
cmp byte [edi + esi], 0xff
jne 0x10087793
cmp byte [edi + esi + 1], 0x50
jne 0x10087793
mov byte [esp + 0x18], 1
jmp 0x10087647
cmp eax, ecx
jae 0x100877c0
test bl, bl
je 0x100877c0
cmp byte [esp + 0x18], 0
jne 0x100877c0
cmp byte [edi + esi], 0xff
jne 0x100877c0
cmp byte [edi + esi + 1], 0x14
jne 0x100877c0
cmp byte [edi + esi + 2], 0x24
jne 0x100877c0
mov byte [esp + 0x18], 1
jmp 0x10087647
cmp dword [esp + 0x30], ecx
jae 0x1008780d
test bl, bl
je 0x1008780d
cmp byte [esp + 0x18], 0
jne 0x1008780d
cmp byte [edi + esi], 0x68
jne 0x1008780d
cmp byte [edi + esi + 5], 0x68
je 0x1008780d
mov al, byte [edi + esi + 6]
cmp al, 0x58
jb 0x10087809
cmp al, 0x5f
ja 0x10087809
mov edi, dword [esp + 0x30]
lea ecx, [esp + 0x7c]
mov byte [esp + 0x18], 1
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov bl, byte [esp + 0x16]
jmp 0x10087667
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x1c], ecx
jae 0x10087884
test bl, bl
je 0x10087858
cmp byte [esp + 0x18], 0
jne 0x10087858
cmp byte [edi + esi], 0x87
jne 0x10087858
cmp byte [edi + esi + 1], 0xc9
jne 0x10087858
cmp byte [edi + esi + 2], 0xf6
jne 0x10087858
cmp byte [edi + esi + 3], 0xd4
jne 0x10087858
mov byte [esp + 0x18], 1
mov edi, dword [esp + 0x1c]
lea ecx, [esp + 0x7c]
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov bl, byte [esp + 0x16]
jmp 0x10087667
cmp dword [esp + 0x1c], ecx
jae 0x10087884
test bl, bl
je 0x10087884
cmp byte [esp + 0x18], 0
jne 0x10087884
cmp byte [edi + esi], 0x86
jne 0x10087884
cmp byte [edi + esi + 1], 0xd1
jne 0x10087884
cmp byte [edi + esi + 2], 0x87
jne 0x10087884
cmp byte [edi + esi + 3], 0xce
je 0x10087839
cmp eax, ecx
mov ah, byte [esp + 0x18]
jae 0x100878b2
test bl, bl
je 0x100878b2
test ah, ah
jne 0x100878b2
cmp byte [edi + esi], 0x80
jne 0x100878b2
cmp byte [edi + esi + 1], 0xfd
jne 0x100878b2
cmp byte [edi + esi + 2], 0xd9
jne 0x100878b2
mov byte [esp + 0x18], 1
jmp 0x10087647
cmp edx, ecx
jae 0x100878fd
test bl, bl
je 0x100878da
test ah, ah
jne 0x100878da
cmp byte [edi + esi], 0x38
jne 0x100878da
mov al, byte [edi + esi + 1]
cmp al, 0x1f
je 0x100878d0
cmp al, 0xe1
jne 0x100878da
mov byte [esp + 0x18], 1
jmp 0x10087647
cmp edx, ecx
jae 0x100878fd
test bl, bl
je 0x100878fd
test ah, ah
jne 0x100878fd
cmp byte [edi + esi], 0x18
jne 0x100878fd
cmp byte [edi + esi + 1], 0xce
jne 0x100878fd
mov byte [esp + 0x18], 1
jmp 0x10087647
lea edx, [edi + 5]
mov dword [esp + 0x44], edx
cmp edx, ecx
jae 0x1008792c
test bl, bl
je 0x1008792c
test ah, ah
jne 0x1008792c
cmp byte [edi + esi], 0x69
jne 0x1008792c
mov al, byte [edi + esi + 1]
cmp al, 0xf3
je 0x100878d0
cmp al, 0xda
jne 0x1008792c
mov byte [esp + 0x18], 1
jmp 0x10087647
mov eax, dword [esp + 0x20]
cmp eax, ecx
jae 0x10087956
test bl, bl
je 0x10087956
cmp byte [esp + 0x18], 0
jne 0x10087956
cmp byte [edi + esi], 0xd9
jne 0x10087956
cmp byte [edi + esi + 1], 0x6d
jne 0x10087956
mov byte [esp + 0x18], 1
jmp 0x10087647
cmp dword [esp + 0x38], ecx
jae 0x100879c2
test bl, bl
je 0x1008797e
cmp byte [esp + 0x18], 0
jne 0x1008797e
cmp byte [edi + esi], 0xd8
jne 0x1008797e
cmp byte [edi + esi + 1], 0xf6
jne 0x1008797e
mov byte [esp + 0x18], 1
jmp 0x10087647
cmp dword [esp + 0x38], ecx
jae 0x100879c2
test bl, bl
je 0x100879c2
cmp byte [esp + 0x18], 0
jne 0x100879c2
test bh, bh
je 0x100879c2
cmp dword [esp + 0x4c], 0
je 0x100879c2
cmp byte [edi + esi], 0x73
jne 0x100879c2
movsx eax, byte [edi + esi + 1]
mov bl, byte [esp + 0x16]
add eax, 2
add eax, edi
cmp eax, dword [esp + 0x4c]
ja 0x1008764b
mov byte [esp + 0x18], 1
jmp 0x1008764b
cmp edx, ecx
jae 0x10087b63
test bl, bl
je 0x10087b21
cmp byte [esp + 0x18], 0
jne 0x10087b21
test bh, bh
je 0x10087b21
cmp dword [esp + 0x4c], 0
je 0x10087b21
cmp byte [edi + esi], 0xf
jne 0x10087b21
cmp byte [edi + esi + 1], 0x83
jne 0x10087b21
lea ecx, [esi + 2]
mov ebx, edi
add ecx, edi
call fcn.1001ca30
mov dword [esp + 0x38], eax
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x108], 2
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x2c]
push edi
mov ecx, dword [eax + 0x14]
call fcn.100979a0
test al, al
jne 0x10087a7c
mov edi, dword [esp + 0x44]
lea ecx, [esp + 0x7c]
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov dword [esp + 0x108], 0xffffffff
lea ecx, [esp + 0x68]
call fcn.100941a0
mov bl, byte [esp + 0x16]
jmp 0x10087663
mov edx, dword [esp + 0x6c]
mov ecx, edx
mov eax, dword [esp + 0x68]
sub ecx, eax
and ecx, 0xfffffff8
cmp ecx, 8
je 0x10087aa7
cmp eax, edx
je 0x10087aa9
mov ecx, dword [esp + 0x40]
cmp word [eax + 4], cx
je 0x10087aa7
add eax, 8
cmp eax, edx
jne 0x10087a98
jmp 0x10087aa9
mov ebx, dword [eax]
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x24]
push 1
push ecx
add eax, 6
lea ecx, [esp + 0x28]
add eax, ebx
push ecx
mov ecx, dword [esp + 0x34]
push eax
mov dword [esp + 0x30], eax
call fcn.100951f0
test al, al
jne 0x10087afe
mov edi, dword [esp + 0x2c]
lea ecx, [esp + 0x7c]
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov dword [esp + 0x108], 0xffffffff
lea ecx, [esp + 0x68]
call fcn.100941a0
mov bl, byte [esp + 0x16]
jmp 0x10087663
mov eax, dword [esp + 0x4c]
cmp dword [esp + 0x20], eax
ja 0x10087b0d
mov byte [esp + 0x18], 1
mov dword [esp + 0x108], 0xffffffff
lea ecx, [esp + 0x68]
jmp 0x10087642
cmp edx, ecx
jae 0x10087b63
test bl, bl
je 0x10087b63
cmp byte [esp + 0x18], 0
jne 0x10087b63
cmp byte [edi + esi], 0x81
jne 0x10087b63
cmp byte [edi + esi + 1], 0xeb
jne 0x10087b63
cmp byte [edi + esi + 2], 0
jne 0x10087b63
cmp byte [edi + esi + 3], 1
jne 0x10087b63
cmp byte [edi + esi + 4], 0
jne 0x10087b63
cmp byte [edi + esi + 5], 0
jne 0x10087b63
mov byte [esp + 0x18], 1
jmp 0x10087647
cmp dword [esp + 0x2c], ecx
jae 0x10087ba0
test bl, bl
je 0x10087ba0
cmp byte [esp + 0x18], 0
jne 0x10087ba0
cmp byte [edi + esi], 0xf
jne 0x10087ba0
cmp byte [edi + esi + 1], 0xc1
jne 0x10087ba0
cmp byte [edi + esi + 2], 0x6c
jne 0x10087ba0
cmp byte [edi + esi + 3], 0x24
jne 0x10087ba0
cmp byte [edi + esi + 4], 0x20
jne 0x10087ba0
mov byte [esp + 0x18], 1
jmp 0x10087647
cmp dword [esp + 0x1c], ecx
jae 0x10087be9
test bl, bl
je 0x10087be9
cmp byte [esp + 0x19], 0
jne 0x10087be9
cmp byte [edi + esi], 0x8d
jne 0x10087be9
mov al, byte [edi + esi + 1]
cmp al, 0x44
jb 0x10087be5
cmp al, 0x7c
ja 0x10087be5
movzx eax, al
and eax, 0x80000003
jns 0x10087bd2
dec eax
or eax, 0xfffffffc
inc eax
jne 0x10087be5
cmp byte [edi + esi + 2], 0x24
jne 0x10087be5
mov byte [esp + 0x19], 1
jmp 0x10087647
mov eax, dword [esp + 0x20]
cmp eax, ecx
jae 0x10087c14
test bl, bl
je 0x10087c14
cmp byte [esp + 0x19], 0
jne 0x10087c14
cmp byte [edi + esi], 0x8d
jne 0x10087c14
mov al, byte [edi + esi + 1]
cmp al, 0x40
jb 0x10087c14
cmp al, 0x7f
ja 0x10087c14
mov byte [esp + 0x19], 1
jmp 0x10087647
lea eax, [edi + 1]
cmp eax, ecx
jae 0x10087c63
test bl, bl
je 0x10087c3d
cmp byte [esp + 0x19], 0
jne 0x10087c3d
cmp byte [edi + esi], 0x8d
jne 0x10087c3d
cmp byte [edi + esi + 1], 8
jne 0x10087c3d
mov byte [esp + 0x19], 1
jmp 0x10087647
cmp eax, ecx
jae 0x10087c63
test bl, bl
je 0x10087c63
cmp byte [esp + 0x19], 0
jne 0x10087c63
cmp byte [edi + esi], 0x8d
jne 0x10087c63
cmp byte [edi + esi + 1], 3
jne 0x10087c63
mov byte [esp + 0x19], 1
jmp 0x10087647
cmp edx, ecx
jae 0x10087c89
test bl, bl
je 0x10087c89
cmp byte [esp + 0x19], 0
jne 0x10087c89
cmp byte [edi + esi], 0x8d
jne 0x10087c89
cmp byte [edi + esi + 1], 0x83
jne 0x10087c89
mov byte [esp + 0x19], 1
jmp 0x10087647
cmp eax, ecx
jae 0x10087caf
test bl, bl
je 0x10087caf
cmp byte [esp + 0x19], 0
jne 0x10087caf
cmp byte [edi + esi], 0x18
jne 0x10087caf
cmp byte [edi + esi + 1], 0xc4
jne 0x10087caf
mov byte [esp + 0x19], 1
jmp 0x10087647
cmp edx, ecx
jae 0x10087d04
test bl, bl
je 0x10087d04
cmp byte [esp + 0x19], 0
jne 0x10087d04
cmp byte [edi + esi], 0x83
jne 0x10087d04
cmp byte [edi + esi + 1], 0xde
jne 0x10087d04
cmp byte [edi + esi + 2], 9
jne 0x10087d04
cmp byte [edi + esi + 3], 0x8f
jne 0x10087d04
cmp byte [edi + esi + 4], 0x43
jne 0x10087d04
cmp byte [edi + esi + 5], 0x20
jne 0x10087d04
mov edi, edx
mov byte [esp + 0x19], 1
lea ecx, [esp + 0x7c]
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov bl, byte [esp + 0x16]
jmp 0x10087667
mov dl, byte [esp + 0x19]
cmp eax, ecx
jae 0x10087d4a
test bl, bl
je 0x10087d2b
test dl, dl
jne 0x10087d2b
cmp byte [edi + esi], 0x14
jne 0x10087d2b
cmp byte [edi + esi + 1], 0xe6
jne 0x10087d2b
mov byte [esp + 0x19], 1
jmp 0x10087647
cmp eax, ecx
jae 0x10087d4a
test dl, dl
jne 0x10087d4a
cmp byte [edi + esi], 0x11
jne 0x10087d4a
cmp byte [edi + esi + 1], 0xe0
jne 0x10087d4a
mov byte [esp + 0x19], 1
jmp 0x10087647
mov edx, dword [esp + 0x20]
cmp edx, ecx
jae 0x10087d7b
test bl, bl
je 0x10087d7b
cmp byte [esp + 0x19], 0
jne 0x10087d7b
cmp byte [edi + esi], 0x80
jne 0x10087d7b
cmp byte [edi + esi + 1], 0xd4
jne 0x10087d7b
cmp byte [edi + esi + 2], 0x94
jne 0x10087d7b
mov byte [esp + 0x19], 1
jmp 0x10087647
cmp eax, ecx
jae 0x10087da1
test bl, bl
je 0x10087da1
cmp byte [esp + 0x19], 0
jne 0x10087da1
cmp byte [edi + esi], 0x22
jne 0x10087da1
cmp byte [edi + esi + 1], 0xe4
jne 0x10087da1
mov byte [esp + 0x19], 1
jmp 0x10087647
cmp edx, ecx
jae 0x10087e2a
test bl, bl
je 0x10087dd2
cmp byte [esp + 0x19], 0
jne 0x10087dd2
cmp byte [edi + esi], 0xc1
jne 0x10087dd2
cmp byte [edi + esi + 1], 0xe1
jne 0x10087dd2
cmp byte [edi + esi + 2], 0x1d
jne 0x10087dd2
mov byte [esp + 0x19], 1
jmp 0x10087647
cmp edx, ecx
jae 0x10087e2a
test bl, bl
je 0x10087e2a
cmp byte [edi + esi], 0xac
jne 0x10087e2a
cmp byte [edi + esi + 1], 9
jne 0x10087e2a
mov al, byte [edi + esi + 2]
cmp al, 0xc0
jb 0x10087e27
cmp al, 0xff
ja 0x10087e27
movzx eax, al
sub eax, 0xc0
cdq
idiv dword [esp + 0x3c]
test edx, edx
jne 0x10087e23
mov edi, dword [esp + 0x20]
lea ecx, [esp + 0x7c]
mov byte [esp + 0x19], 1
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov bl, byte [esp + 0x16]
jmp 0x10087667
mov edx, dword [esp + 0x20]
lea eax, [edi + 1]
cmp dword [esp + 0x1c], ecx
jae 0x10087e60
test bl, bl
je 0x10087e60
cmp byte [esp + 0x19], 0
jne 0x10087e60
cmp byte [edi + esi], 0xf3
jne 0x10087e60
cmp byte [edi + esi + 1], 0xf6
jne 0x10087e60
cmp byte [edi + esi + 2], 0xc2
jne 0x10087e60
cmp byte [edi + esi + 3], 0xb5
jne 0x10087e60
mov byte [esp + 0x19], 1
jmp 0x10087647
cmp eax, ecx
jae 0x10087eea
test bl, bl
je 0x10087e8a
cmp byte [esp + 0x19], 0
jne 0x10087e8a
cmp byte [edi + esi], 0x21
jne 0x10087e8a
cmp byte [edi + esi + 1], 0xf6
jne 0x10087e8a
mov byte [esp + 0x19], 1
jmp 0x10087647
cmp eax, ecx
jae 0x10087eea
test bl, bl
je 0x10087eb0
cmp byte [esp + 0x19], 0
jne 0x10087eb0
cmp byte [edi + esi], 0x10
jne 0x10087eb0
cmp byte [edi + esi + 1], 0xf6
jne 0x10087eb0
mov byte [esp + 0x19], 1
jmp 0x10087647
cmp eax, ecx
jae 0x10087eea
test bl, bl
je 0x10087eea
cmp byte [esp + 0x1a], 0
jne 0x10087eea
cmp byte [edi + esi], 0x87
jne 0x10087eea
mov al, byte [edi + esi + 1]
cmp al, 2
je 0x10087edd
cmp al, 0x1f
je 0x10087edd
cmp al, 0xce
je 0x10087edd
cmp al, 0xfa
je 0x10087edd
cmp al, 0xd1
jne 0x10087ee7
mov byte [esp + 0x1a], 1
jmp 0x10087647
lea eax, [edi + 1]
cmp edx, ecx
jae 0x10087f17
test bl, bl
je 0x10087f17
cmp byte [esp + 0x1a], 0
jne 0x10087f17
cmp byte [edi + esi], 0x87
jne 0x10087f17
cmp byte [edi + esi + 1], 0x43
jne 0x10087f17
cmp byte [edi + esi + 2], 0x10
jne 0x10087f17
mov byte [esp + 0x1a], 1
jmp 0x10087647
cmp eax, ecx
jae 0x10087f88
test bl, bl
je 0x10087f5a
cmp byte [esp + 0x1a], 0
jne 0x10087f5a
cmp byte [edi + esi], 0x87
jne 0x10087f5a
mov al, byte [edi + esi + 1]
cmp al, 0xc0
jb 0x10087f57
cmp al, 0xff
ja 0x10087f57
movzx eax, al
sub eax, 0xc0
cdq
idiv dword [esp + 0x3c]
test edx, edx
jne 0x10087f53
mov byte [esp + 0x1a], 1
jmp 0x10087647
mov edx, dword [esp + 0x20]
lea eax, [edi + 1]
cmp eax, ecx
jae 0x10087f88
test bl, bl
je 0x10087f88
cmp byte [esp + 0x1a], 0
jne 0x10087f88
cmp byte [edi + esi], 0x86
jne 0x10087f88
mov al, byte [edi + esi + 1]
cmp al, 0xc0
jb 0x10087f85
cmp al, 0xff
ja 0x10087f85
mov byte [esp + 0x1a], 1
jmp 0x10087647
lea eax, [edi + 1]
cmp edx, ecx
jae 0x10087fae
test bl, bl
je 0x10087fae
cmp byte [esp + 0x1a], 0
jne 0x10087fae
cmp byte [edi + esi], 0x80
jne 0x10087fae
cmp byte [edi + esi + 1], 0xcd
jne 0x10087fae
mov byte [esp + 0x1a], 1
jmp 0x10087647
cmp eax, ecx
jae 0x10088018
test bl, bl
je 0x10087ff1
cmp byte [esp + 0x1a], 0
jne 0x10087ff1
cmp byte [edi + esi], 9
jne 0x10087ff1
mov al, byte [edi + esi + 1]
cmp al, 0xc0
jb 0x10087fee
cmp al, 0xff
ja 0x10087fee
movzx eax, al
sub eax, 0xc0
cdq
idiv dword [esp + 0x3c]
test edx, edx
jne 0x10087fea
mov byte [esp + 0x1a], 1
jmp 0x10087647
mov edx, dword [esp + 0x20]
lea eax, [edi + 1]
cmp eax, ecx
jae 0x10088018
mov al, byte [esp + 0x1a]
test bl, bl
je 0x1008801c
test al, al
jne 0x1008801c
cmp byte [edi + esi], 0xd2
jne 0x1008801c
cmp byte [edi + esi + 1], 0xe0
jne 0x1008801c
mov byte [esp + 0x1a], 1
jmp 0x10087647
mov al, byte [esp + 0x1a]
cmp edx, ecx
jae 0x10088046
test bl, bl
je 0x10088046
test al, al
jne 0x10088046
cmp byte [edi + esi], 0xf3
jne 0x10088046
cmp byte [edi + esi + 1], 0x33
jne 0x10088046
cmp byte [edi + esi + 2], 0xd2
jne 0x10088046
mov byte [esp + 0x1a], 1
jmp 0x10087647
mov eax, dword [esp + 0x1c]
cmp eax, ecx
jae 0x10088077
test bl, bl
je 0x10088077
cmp byte [esp + 0x1a], 0
jne 0x10088077
cmp byte [edi + esi], 0xf3
jne 0x10088077
cmp byte [edi + esi + 1], 0xf2
jne 0x10088077
cmp byte [edi + esi + 2], 0x84
jne 0x10088077
mov byte [esp + 0x1a], 1
jmp 0x10087647
cmp dword [esp + 0x2c], ecx
jae 0x100880b6
test bl, bl
je 0x100880b6
cmp byte [esp + 0x1a], 0
jne 0x100880b6
mov al, byte [edi + esi]
cmp al, 0xb8
jb 0x100880b2
cmp al, 0xbf
ja 0x100880b2
cmp byte [edi + esi + 2], 0x42
jne 0x100880b2
cmp byte [edi + esi + 3], 0
jne 0x100880b2
cmp byte [edi + esi + 4], 0
jne 0x100880b2
mov byte [esp + 0x1a], 1
jmp 0x10087647
mov eax, dword [esp + 0x1c]
cmp eax, ecx
jae 0x100880ea
test bl, bl
je 0x100880ea
cmp byte [esp + 0x1a], 0
jne 0x100880ea
cmp byte [edi + esi], 0x2c
jne 0x100880ea
cmp byte [edi + esi + 1], 3
jne 0x100880ea
cmp byte [edi + esi + 2], 0x2c
jne 0x100880ea
cmp byte [edi + esi + 3], 0x4a
jne 0x100880ea
mov byte [esp + 0x1a], 1
jmp 0x1008783e
cmp dword [esp + 0x2c], ecx
jae 0x10088129
test bl, bl
je 0x10088129
cmp byte [esp + 0x1a], 0
jne 0x10088129
cmp byte [edi + esi], 0xa9
jne 0x10088129
lea ecx, [esi + 1]
add ecx, edi
call fcn.1001ca30
mov bl, byte [esp + 0x16]
add eax, 0x4fffffff
cmp eax, 0xffffffe
ja 0x1008764b
mov byte [esp + 0x1a], 1
jmp 0x1008764b
cmp edx, ecx
jae 0x10088156
test bl, bl
je 0x10088156
cmp byte [esp + 0x1a], 0
jne 0x10088156
cmp byte [edi + esi], 0x83
jne 0x10088156
cmp byte [edi + esi + 1], 0xf1
jne 0x10088156
cmp byte [edi + esi + 2], 0
jne 0x10088156
mov byte [esp + 0x1a], 1
jmp 0x10087647
cmp eax, ecx
jae 0x1008818a
test bl, bl
je 0x1008818a
cmp byte [esp + 0x1a], 0
jne 0x1008818a
cmp byte [edi + esi], 0x11
jne 0x1008818a
cmp byte [edi + esi + 1], 0xff
jne 0x1008818a
cmp byte [edi + esi + 2], 0x33
jne 0x1008818a
cmp byte [edi + esi + 3], 0xc0
jne 0x1008818a
mov byte [esp + 0x1a], 1
jmp 0x1008783e
lea eax, [edi + 7]
cmp eax, ecx
jae 0x100881d4
test bl, bl
je 0x100881d4
cmp byte [esp + 0x1a], 0
jne 0x100881d4
cmp byte [edi + esi], 0x34
jne 0x100881d4
cmp byte [edi + esi + 1], 0x4d
jne 0x100881d4
cmp byte [edi + esi + 2], 0xf
jne 0x100881d4
cmp byte [edi + esi + 3], 0x84
jne 0x100881d4
mov edi, eax
mov byte [esp + 0x1a], 1
lea ecx, [esp + 0x7c]
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov bl, byte [esp + 0x16]
jmp 0x10087667
mov ah, byte [esp + 0x16]
cmp edx, ecx
jae 0x10088202
test bl, bl
je 0x10088202
test ah, ah
jne 0x10088202
cmp byte [edi + esi], 0xf
jne 0x10088202
cmp byte [edi + esi + 1], 0xb7
jne 0x10088202
cmp byte [edi + esi + 2], 0xcb
jne 0x10088202
mov byte [esp + 0x16], 1
jmp 0x10087647
cmp dword [esp + 0x30], ecx
jae 0x10088233
test bl, bl
je 0x10088233
test ah, ah
jne 0x10088233
cmp byte [edi + esi], 0xf
jne 0x10088233
cmp byte [edi + esi + 1], 0xb7
jne 0x10088233
mov al, byte [edi + esi + 2]
cmp al, 0x90
jb 0x10088233
cmp al, 0x97
ja 0x10088233
mov byte [esp + 0x16], 1
jmp 0x10087647
cmp edx, ecx
jae 0x1008825d
test bl, bl
je 0x1008825d
test ah, ah
jne 0x1008825d
cmp byte [edi + esi], 0x8b
jne 0x1008825d
cmp byte [edi + esi + 1], 0x2c
jne 0x1008825d
cmp byte [edi + esi + 2], 0x24
jne 0x1008825d
mov byte [esp + 0x16], 1
jmp 0x10087647
lea eax, [edi + 1]
cmp eax, ecx
jae 0x100882ac
test bl, bl
je 0x10088286
cmp byte [esp + 0x16], 0
jne 0x10088286
cmp byte [edi + esi], 0x8b
jne 0x10088286
cmp byte [edi + esi + 1], 0xd6
jne 0x10088286
mov byte [esp + 0x16], 1
jmp 0x10087647
cmp eax, ecx
jae 0x100882ac
test bl, bl
je 0x100882ac
cmp byte [esp + 0x16], 0
jne 0x100882ac
cmp byte [edi + esi], 0x8a
jne 0x100882ac
cmp byte [edi + esi + 1], 0xc9
jne 0x100882ac
mov byte [esp + 0x16], 1
jmp 0x10087647
cmp dword [esp + 0x1c], ecx
jae 0x100882e6
test bl, bl
je 0x100882e6
cmp byte [esp + 0x16], 0
jne 0x100882e6
cmp byte [edi + esi], 0xb0
jne 0x100882e6
cmp byte [edi + esi + 2], 0xb0
jne 0x100882e6
mov edi, dword [esp + 0x1c]
lea ecx, [esp + 0x7c]
mov bl, 1
mov byte [esp + 0x16], bl
lea eax, [edi + 1]
push eax
call fcn.1001d110
jmp 0x10087667
cmp edx, ecx
jae 0x1008833e
test bl, bl
je 0x1008831e
cmp byte [esp + 0x16], 0
jne 0x1008831e
cmp byte [edi + esi], 0x80
jne 0x1008831e
mov al, byte [edi + esi + 1]
cmp al, 0xf0
jb 0x1008831b
cmp al, 0xff
ja 0x1008831b
mov al, byte [edi + esi + 2]
cmp al, 0x5a
je 0x100884d9
cmp al, 0xa5
je 0x100884d9
lea eax, [edi + 1]
cmp edx, ecx
jae 0x1008833e
test bl, bl
je 0x1008833e
cmp byte [esp + 0x16], 0
jne 0x1008833e
cmp byte [edi + esi], 0x31
jne 0x1008833e
cmp byte [edi + esi + 1], 0xcd
je 0x100884d9
cmp eax, ecx
jae 0x100883a2
test bl, bl
je 0x1008835e
cmp byte [esp + 0x16], 0
jne 0x1008835e
cmp byte [edi + esi], 8
jne 0x1008835e
cmp byte [edi + esi + 1], 0xc6
je 0x100884d9
cmp eax, ecx
jae 0x100883a2
cmp byte [esp + 0x16], 0
jne 0x1008837a
cmp byte [edi + esi], 0x85
jne 0x1008837a
cmp byte [edi + esi + 1], 0xe9
je 0x100884d9
cmp eax, ecx
jae 0x100883a2
test bl, bl
je 0x100883a2
cmp byte [esp + 0x16], 0
jne 0x100883a2
cmp byte [edi + esi], 0x84
jne 0x100883a2
mov al, byte [edi + esi + 1]
cmp al, 0xc0
jb 0x1008839f
cmp al, 0xff
jbe 0x100884d9
lea eax, [edi + 1]
cmp edx, ecx
jae 0x100883c5
cmp byte [esp + 0x16], 0
jne 0x100883c5
cmp byte [edi + esi], 0xf6
jne 0x100883c5
cmp byte [edi + esi + 1], 0xc4
jne 0x100883c5
cmp byte [edi + esi + 2], 0x66
je 0x100884d9
cmp eax, ecx
mov ah, byte [esp + 0x16]
jae 0x10088404
test bl, bl
je 0x10088404
test ah, ah
jne 0x10088404
cmp byte [edi + esi], 0x85
jne 0x10088404
mov al, byte [edi + esi + 1]
cmp al, 0xc0
jb 0x10088404
cmp al, 0xff
ja 0x10088404
movzx eax, al
sub eax, 0xc0
cdq
idiv dword [esp + 0x3c]
test edx, edx
je 0x100884d9
mov edx, dword [esp + 0x20]
mov ah, byte [esp + 0x16]
cmp dword [esp + 0x44], ecx
jae 0x10088429
test bl, bl
je 0x10088429
test ah, ah
jne 0x10088429
cmp byte [edi + esi], 0xf7
jne 0x10088429
mov al, byte [edi + esi + 1]
cmp al, 0xc0
jb 0x10088429
cmp al, 0xc7
ja 0x10088429
lea ecx, [esi + 2]
jmp 0x10088440
cmp dword [esp + 0x2c], ecx
jae 0x10088462
test bl, bl
je 0x10088462
test ah, ah
jne 0x10088462
cmp byte [edi + esi], 0xa9
jne 0x10088462
lea ecx, [esi + 1]
add ecx, edi
call fcn.1001ca30
add eax, 0xefffffff
cmp eax, 0xffffffe
ja 0x10087647
mov bl, 1
mov byte [esp + 0x16], bl
jmp 0x1008764b
cmp edx, ecx
jae 0x1008848d
test bl, bl
je 0x1008848d
test ah, ah
jne 0x1008848d
cmp byte [edi + esi], 0x80
jne 0x1008848d
cmp byte [edi + esi + 1], 0xc4
jne 0x1008848d
cmp byte [edi + esi + 2], 0xa6
jne 0x1008848d
mov bl, 1
mov byte [esp + 0x16], bl
jmp 0x1008764b
lea eax, [edi + 1]
cmp eax, ecx
jae 0x100884e4
test bl, bl
je 0x100884b7
cmp byte [esp + 0x16], 0
jne 0x100884b7
cmp byte [edi + esi], 0x21
jne 0x100884b7
cmp byte [edi + esi + 1], 0xd1
jne 0x100884b7
mov bl, 1
mov byte [esp + 0x16], bl
jmp 0x1008764b
cmp eax, ecx
jae 0x100884e4
mov al, byte [esp + 0x16]
test bl, bl
je 0x100884e8
test al, al
jne 0x100884e8
cmp byte [edi + esi], 0x20
jne 0x100884e8
mov al, byte [edi + esi + 1]
cmp al, 0xf5
je 0x100884d9
cmp al, 0xd9
jne 0x100884e4
mov bl, 1
mov byte [esp + 0x16], bl
jmp 0x1008764b
mov al, byte [esp + 0x16]
cmp edx, ecx
jae 0x1008854d
test bl, bl
je 0x10088522
test al, al
jne 0x10088522
cmp byte [edi + esi], 0xaa
jne 0x10088522
cmp byte [edi + esi + 1], 0x8b
jne 0x10088522
cmp byte [edi + esi + 2], 0xc0
jne 0x10088522
mov edi, edx
lea ecx, [esp + 0x7c]
mov bl, 1
mov byte [esp + 0x16], bl
lea eax, [edi + 1]
push eax
call fcn.1001d110
jmp 0x10087667
cmp edx, ecx
jae 0x1008854d
test bl, bl
je 0x1008854d
test al, al
jne 0x1008854d
cmp byte [edi + esi], 0x80
jne 0x1008854d
cmp byte [edi + esi + 1], 0xec
jne 0x1008854d
cmp byte [edi + esi + 2], 0x5a
jne 0x1008854d
mov bl, 1
mov byte [esp + 0x16], bl
jmp 0x1008764b
mov dl, byte [esp + 0x1b]
lea ebx, [edi + 8]
mov ah, byte [esp + 0x17]
cmp ebx, ecx
jae 0x1008864f
test dl, dl
je 0x100885e2
test ah, ah
jne 0x100885e2
cmp byte [edi + esi], 0x66
jne 0x100885e2
cmp byte [edi + esi + 1], 0x81
jne 0x100885e2
mov al, byte [edi + esi + 2]
cmp al, 0x98
jb 0x100885e2
cmp al, 0x9f
ja 0x100885e2
lea ecx, [esi + 3]
add ecx, edi
call fcn.1001ca30
sub eax, dword [esp + 0x48]
lea ecx, [esp + 0x24]
push 1
push ecx
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], eax
push ecx
mov ecx, dword [esp + 0x34]
push eax
call fcn.100951f0
test al, al
jne 0x100885c5
mov edi, ebx
lea ecx, [esp + 0x7c]
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov bl, byte [esp + 0x16]
jmp 0x10087663
mov eax, dword [esp + 0x34]
mov bl, byte [esp + 0x16]
cmp dword [esp + 0x1c], eax
jae 0x1008764b
mov bh, 1
mov byte [esp + 0x17], bh
jmp 0x1008764b
cmp ebx, ecx
jae 0x1008864f
test dl, dl
je 0x1008864f
test ah, ah
jne 0x1008864f
cmp byte [edi + esi], 0x66
jne 0x1008864f
cmp byte [edi + esi + 1], 0x81
jne 0x1008864f
mov al, byte [edi + esi + 2]
cmp al, 0x90
jb 0x1008864f
cmp al, 0x97
ja 0x1008864f
lea ecx, [esi + 3]
add ecx, edi
call fcn.1001ca30
sub eax, dword [esp + 0x48]
lea ecx, [esp + 0x24]
push 1
push ecx
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], eax
push ecx
mov ecx, dword [esp + 0x34]
push eax
call fcn.100951f0
test al, al
jne 0x10088809
mov edi, ebx
lea ecx, [esp + 0x7c]
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov bl, byte [esp + 0x16]
jmp 0x10087663
cmp dword [esp + 0x30], ecx
jae 0x10088682
test dl, dl
je 0x10088682
test ah, ah
jne 0x10088682
cmp byte [edi + esi], 0x66
jne 0x10088682
cmp byte [edi + esi + 1], 0x81
jne 0x10088682
cmp byte [edi + esi + 2], 0x44
jne 0x10088682
cmp byte [edi + esi + 3], 0x24
jne 0x10088682
mov byte [esp + 0x17], 1
jmp 0x10087647
lea ebx, [edi + 9]
cmp ebx, ecx
jae 0x10088731
test dl, dl
je 0x1008870b
test ah, ah
jne 0x1008870b
cmp byte [edi + esi], 0x81
jne 0x1008870b
mov al, byte [edi + esi + 1]
cmp al, 0x80
jb 0x1008870b
cmp al, 0x87
ja 0x1008870b
lea ecx, [esi + 2]
add ecx, edi
call fcn.1001ca30
sub eax, dword [esp + 0x48]
lea ecx, [esp + 0x24]
push 1
push ecx
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], eax
push ecx
mov ecx, dword [esp + 0x34]
push eax
call fcn.100951f0
test al, al
jne 0x100886eb
mov edi, ebx
lea ecx, [esp + 0x7c]
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov bl, byte [esp + 0x16]
jmp 0x10087663
mov eax, dword [esp + 0x34]
mov bl, byte [esp + 0x16]
cmp dword [esp + 0x1c], eax
jae 0x1008764b
mov dword [esp + 0x4c], edi
mov byte [esp + 0x17], 1
jmp 0x1008764b
cmp ebx, ecx
jae 0x10088731
test dl, dl
je 0x10088731
test ah, ah
jne 0x10088731
cmp byte [edi + esi], 0x81
jne 0x10088731
mov al, byte [edi + esi + 1]
cmp al, 0xa8
jb 0x10088731
cmp al, 0xaf
ja 0x10088731
lea ecx, [esi + 2]
jmp 0x1008860a
mov edx, dword [esp + 0x30]
mov bl, byte [esp + 0x1b]
mov bh, byte [esp + 0x17]
cmp edx, ecx
jae 0x100887c3
test bl, bl
je 0x100887a5
test bh, bh
jne 0x100887a5
cmp byte [edi + esi], 0x80
jne 0x100887a5
mov al, byte [edi + esi + 1]
cmp al, 0xa8
jb 0x100887a5
cmp al, 0xaf
ja 0x100887a5
lea ecx, [esi + 2]
add ecx, edi
call fcn.1001ca30
sub eax, dword [esp + 0x48]
lea ecx, [esp + 0x24]
push 1
push ecx
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], eax
push ecx
mov ecx, dword [esp + 0x34]
push eax
call fcn.100951f0
test al, al
jne 0x10088809
mov edi, dword [esp + 0x30]
lea ecx, [esp + 0x7c]
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov bl, byte [esp + 0x16]
jmp 0x10087663
cmp edx, ecx
jae 0x100887c3
test bl, bl
je 0x100887c3
test bh, bh
jne 0x100887c3
cmp byte [edi + esi], 0xc1
jne 0x100887c3
mov al, byte [edi + esi + 1]
cmp al, 0x80
jb 0x100887c3
cmp al, 0x87
jbe 0x1008875f
mov eax, dword [esp + 0x44]
cmp eax, ecx
jae 0x10088863
test bl, bl
je 0x10088825
test bh, bh
jne 0x10088825
cmp byte [edi + esi], 0x81
jne 0x10088825
cmp byte [edi + esi + 1], 0xe3
jne 0x10088825
cmp byte [edi + esi + 2], bh
jne 0x10088825
cmp byte [edi + esi + 3], 0xfd
jne 0x10088825
cmp byte [edi + esi + 4], 0xff
jne 0x10088825
cmp byte [edi + esi + 5], 0xff
jne 0x10088825
mov byte [esp + 0x17], 1
jmp 0x10087647
mov eax, dword [esp + 0x34]
mov bl, byte [esp + 0x16]
cmp dword [esp + 0x1c], eax
jae 0x1008764b
mov byte [esp + 0x17], 1
jmp 0x1008764b
cmp eax, ecx
jae 0x10088863
test bl, bl
je 0x10088863
test bh, bh
jne 0x10088863
cmp byte [edi + esi], 0x81
jne 0x10088863
cmp byte [edi + esi + 1], 0xc3
jne 0x10088863
cmp byte [edi + esi + 2], bh
jne 0x10088863
cmp byte [edi + esi + 3], 0xfd
jne 0x10088863
cmp byte [edi + esi + 4], 0xff
jne 0x10088863
cmp byte [edi + esi + 5], 0xff
jne 0x10088863
mov byte [esp + 0x17], 1
jmp 0x10087647
mov edx, dword [esp + 0x20]
cmp edx, ecx
jae 0x10088891
test bl, bl
je 0x10088891
test bh, bh
jne 0x10088891
cmp byte [edi + esi], 0x83
jne 0x10088891
cmp byte [edi + esi + 1], 0xc3
jne 0x10088891
cmp byte [edi + esi + 2], 0x80
jne 0x10088891
mov byte [esp + 0x17], 1
jmp 0x10087647
cmp eax, ecx
jae 0x100888cd
test bl, bl
je 0x100888cd
test bh, bh
jne 0x100888cd
cmp byte [edi + esi], 0x81
jne 0x100888cd
cmp byte [edi + esi + 1], 0xeb
jne 0x100888cd
cmp byte [edi + esi + 2], 0x80
jne 0x100888cd
cmp byte [edi + esi + 3], bh
jne 0x100888cd
cmp byte [edi + esi + 4], bh
jne 0x100888cd
cmp byte [edi + esi + 5], bh
jne 0x100888cd
mov byte [esp + 0x17], 1
jmp 0x10087647
cmp edx, ecx
jae 0x100888f7
test bl, bl
je 0x100888f7
test bh, bh
jne 0x100888f7
cmp byte [edi + esi], 0x26
jne 0x100888f7
cmp byte [edi + esi + 1], 0x8b
jne 0x100888f7
cmp byte [edi + esi + 2], 0xff
jne 0x100888f7
mov byte [esp + 0x17], 1
jmp 0x10087647
mov eax, dword [esp + 0x1c]
cmp eax, ecx
jae 0x10088989
test bl, bl
je 0x10088944
test bh, bh
jne 0x10088944
cmp byte [edi + esi], 0x80
jne 0x10088944
cmp byte [edi + esi + 1], 0xd9
jne 0x10088944
cmp byte [edi + esi + 2], 0xd8
jne 0x10088944
cmp byte [edi + esi + 3], 0x58
jne 0x10088944
mov edi, eax
lea ecx, [esp + 0x7c]
mov bh, 1
mov byte [esp + 0x17], bh
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov bl, byte [esp + 0x16]
jmp 0x10087667
cmp eax, ecx
jae 0x10088989
test bl, bl
je 0x10088989
test bh, bh
jne 0x10088989
cmp byte [edi + esi], 0xf6
jne 0x10088989
cmp byte [edi + esi + 1], 0xd5
jne 0x10088989
cmp byte [edi + esi + 2], 0x8a
jne 0x10088989
cmp byte [edi + esi + 3], 0xf6
jne 0x10088989
mov edi, eax
lea ecx, [esp + 0x7c]
mov bh, 1
mov byte [esp + 0x17], bh
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov bl, byte [esp + 0x16]
jmp 0x10087667
cmp edx, ecx
jae 0x100889dd
test bl, bl
je 0x100889b3
test bh, bh
jne 0x100889b3
cmp byte [edi + esi], 0x83
jne 0x100889b3
cmp byte [edi + esi + 1], 0xe7
jne 0x100889b3
cmp byte [edi + esi + 2], 0xdb
jne 0x100889b3
mov byte [esp + 0x17], 1
jmp 0x10087647
cmp edx, ecx
jae 0x100889dd
test bl, bl
je 0x100889dd
test bh, bh
jne 0x100889dd
cmp byte [edi + esi], 0x80
jne 0x100889dd
cmp byte [edi + esi + 1], 0xda
jne 0x100889dd
cmp byte [edi + esi + 2], 0xe8
jne 0x100889dd
mov byte [esp + 0x17], 1
jmp 0x10087647
cmp eax, ecx
jae 0x10088a21
test bl, bl
je 0x10088a21
test bh, bh
jne 0x10088a21
cmp byte [edi + esi], 0x80
jne 0x10088a21
cmp byte [edi + esi + 1], 0xf1
jne 0x10088a21
cmp byte [edi + esi + 2], bh
jne 0x10088a21
cmp byte [edi + esi + 3], 0x90
jne 0x10088a21
mov edi, eax
lea ecx, [esp + 0x7c]
mov bh, 1
mov byte [esp + 0x17], bh
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov bl, byte [esp + 0x16]
jmp 0x10087667
lea eax, [edi + 1]
cmp eax, ecx
jae 0x10088a95
test bl, bl
je 0x10088a47
test bh, bh
jne 0x10088a47
cmp byte [edi + esi], 8
jne 0x10088a47
cmp byte [edi + esi + 1], 0xf9
jne 0x10088a47
mov byte [esp + 0x17], 1
jmp 0x10087647
cmp eax, ecx
jae 0x10088a95
test bl, bl
je 0x10088a6a
test bh, bh
jne 0x10088a6a
cmp byte [edi + esi], 0x38
jne 0x10088a6a
cmp byte [edi + esi + 1], 0xe5
jne 0x10088a6a
mov byte [esp + 0x17], 1
jmp 0x10087647
cmp eax, ecx
jae 0x10088a95
test bl, bl
je 0x10088a95
test bh, bh
jne 0x10088a95
mov al, byte [edi + esi]
cmp al, 3
je 0x10088a81
cmp al, 0x33
jne 0x10088a92
cmp byte [edi + esi + 1], 3
jne 0x10088a92
mov byte [esp + 0x17], 1
jmp 0x10087647
lea eax, [edi + 1]
cmp edx, ecx
jae 0x10088ad3
test bl, bl
je 0x10088ad3
test bh, bh
jne 0x10088ad3
cmp byte [edi + esi], 0x8a
jne 0x10088ad3
cmp byte [edi + esi + 1], 0xd2
jne 0x10088ad3
cmp byte [edi + esi + 2], 0xfc
jne 0x10088ad3
mov edi, edx
lea ecx, [esp + 0x7c]
mov bh, 1
mov byte [esp + 0x17], bh
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov bl, byte [esp + 0x16]
jmp 0x10087667
cmp dword [esp + 0x1c], ecx
jae 0x10088b07
test bl, bl
je 0x10088b07
test bh, bh
jne 0x10088b07
cmp byte [edi + esi], 0xf7
jne 0x10088b07
cmp byte [edi + esi + 1], 0xd1
jne 0x10088b07
cmp byte [edi + esi + 2], 0xb1
jne 0x10088b07
cmp byte [edi + esi + 3], 0x82
jne 0x10088b07
mov bh, 1
mov byte [esp + 0x17], bh
jmp 0x1008783e
cmp edx, ecx
jae 0x10088b83
test bl, bl
je 0x10088b45
test bh, bh
jne 0x10088b45
cmp byte [edi + esi], 0xfc
jne 0x10088b45
cmp byte [edi + esi + 1], 0x11
jne 0x10088b45
cmp byte [edi + esi + 2], 0xce
jne 0x10088b45
mov edi, edx
lea ecx, [esp + 0x7c]
mov bh, 1
mov byte [esp + 0x17], bh
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov bl, byte [esp + 0x16]
jmp 0x10087667
cmp edx, ecx
jae 0x10088b83
test bl, bl
je 0x10088b83
test bh, bh
jne 0x10088b83
cmp byte [edi + esi], 0x30
jne 0x10088b83
cmp byte [edi + esi + 1], 0xe6
jne 0x10088b83
cmp byte [edi + esi + 2], 0x99
jne 0x10088b83
mov edi, edx
lea ecx, [esp + 0x7c]
mov bh, 1
mov byte [esp + 0x17], bh
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov bl, byte [esp + 0x16]
jmp 0x10087667
cmp eax, ecx
jae 0x10088baf
test bl, bl
je 0x10088baf
cmp byte [edi + esi], 0xeb
jne 0x10088baf
movsx eax, byte [edi + esi + 1]
lea ecx, [esp + 0x7c]
inc eax
add edi, eax
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov bl, byte [esp + 0x16]
jmp 0x10087663
cmp dword [esp + 0x2c], ecx
jae 0x10087647
test bl, bl
je 0x10087647
cmp byte [edi + esi], 0xe9
jne 0x10087647
lea ecx, [esi + 1]
add ecx, edi
call fcn.1001ca30
mov ebx, eax
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0x108], 3
lea eax, [esp + 0xe0]
push eax
mov eax, dword [esp + 0x2c]
push edi
mov ecx, dword [eax + 0x14]
call fcn.100979a0
test al, al
jne 0x10088c4d
lea ecx, [esp + 0x7c]
mov edi, dword [esp + 0x2c]
lea eax, [edi + 1]
push eax
call fcn.1001d110
mov dword [esp + 0x108], 0xffffffff
lea ecx, [esp + 0xe0]
call fcn.100941a0
mov bl, byte [esp + 0x16]
jmp 0x10087663
mov edx, dword [esp + 0xe4]
mov ecx, edx
mov eax, dword [esp + 0xe0]
sub ecx, eax
and ecx, 0xfffffff8
cmp ecx, 8
je 0x10088c7f
cmp eax, edx
je 0x10088c81
mov ecx, dword [esp + 0x40]
nop
cmp word [eax + 4], cx
je 0x10088c7f
add eax, 8
cmp eax, edx
jne 0x10088c70
jmp 0x10088c81
mov edi, dword [eax]
push 1
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x28]
lea eax, [ebx + 5]
add eax, edi
push ecx
mov ecx, dword [esp + 0x34]
push eax
mov dword [esp + 0x30], eax
call fcn.100951f0
lea ecx, [esp + 0x7c]
test al, al
je 0x10088c20
mov edi, dword [esp + 0x20]
dec edi
jmp 0x10088c24
mov bh, byte [esp + 0x17]
mov bl, byte [esp + 0x16]
mov dh, byte [esp + 0x1a]
mov ah, byte [esp + 0x19]
mov al, byte [esp + 0x1b]
test al, al
je 0x10088ce9
test dl, dl
je 0x10088ce9
test ah, ah
je 0x10088ce9
test dh, dh
je 0x10088ce9
test bl, bl
je 0x10088ce9
test bh, bh
je 0x10088ce9
mov eax, 1
jmp 0x10088ceb
xor eax, eax
mov ecx, dword [esp + 0x100]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xe8]
xor ecx, esp
call fcn.100b37df
mov esp, ebp
pop ebp
ret