Function at 0x4b8440
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x68
mov esi, esp
mov dword [esi + 0x50], ebp
mov dword [esi + 0xc], ecx
mov dword [esi + 0x54], esp
mov dword [esi + 0x60], 0xffffffff
lea eax, [esi + 0x58]
mov dword [esi + 0x5c], 0x55cdc0
mov ecx, dword fs:[0]
mov dword [esi + 0x58], ecx
mov dword fs:[0], eax
mov ecx, dword [0x5986f0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5986f4], 0xa
setge cl
setl ch
xor ch, dl
movzx edx, byte [ebp + 0x14]
movzx ebx, dl
jne 0x4b84ac
or cl, al
test cl, 1
jne 0x4b853a
push eax
mov dword [esi + 0x34], esp
push eax
mov edi, esp
push eax
mov ecx, esp
push eax
mov eax, esp
push eax
mov dword [esi + 0x18], esp
sub esp, 0x28
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 8], edx
mov esp, edx
push eax
sub esp, 8
mov dword [esi + 0x3c], esp
push eax
mov dword [esi + 0x1c], esp
sub esp, 0xc
mov dword [esi + 0x40], esp
push eax
mov dword [esi + 0x48], esp
sub esp, 0x18
mov dword [esi + 0x30], esp
sub esp, 0x18
mov dword [esi + 4], esp
mov edx, dword [ebp + 0x18]
mov dword [esi + 0x44], edi
mov dword [edi], edx
mov dword [esi + 0x20], ecx
mov edi, dword [ebp + 0x10]
mov dword [ecx], edi
mov dword [esi + 0x4c], eax
mov edi, dword [ebp + 0xc]
mov dword [eax], edi
mov ecx, dword [esi + 0xc]
push edx
push ebx
push edi
push dword [ebp + 8]
call fcn.004befd0
mov ecx, dword [0x5986f0]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x5986f4], 0xa
setl dl
test dl, cl
jne 0x4b8551
xor dl, cl
jne 0x4b8551
mov ecx, dword [esi + 0xc]
push dword [ebp + 0x18]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004befd0
jmp 0x4b84ac
test al, al
je 0x4b865b
mov ecx, dword [esi + 0xc]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004c1cf0
mov edx, dword [0x5986f0]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete ah
cmp dword [0x5986f4], 0xa
setl dh
setge dl
cmp dh, ah
jne 0x4b85ea
or dl, cl
test dl, 1
je 0x4b85ea
mov ebx, dword [esi + 0xc]
nop word [eax + eax]
mov ecx, ebx
mov edi, dword [ebp + 0x10]
push edi
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004c1cf0
mov ecx, ebx
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004c1cf0
mov ecx, dword [0x5986f0]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x5986f4], 0xa
setl dl
test dl, cl
jne 0x4b85ea
xor dl, cl
je 0x4b85a0
test al, al
je 0x4b8652
mov eax, dword [ebp + 0x10]
add eax, 0x34
push eax
push dword [ebp + 8]
call fcn.004c2a90
add esp, 8
test al, al
je 0x4b8652
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x18], 0xcc
je 0x4b8b60
mov ecx, dword [ebp + 0xc]
push str.HEAD
call fcn.0049da90
test al, al
jne 0x4b8b60
mov eax, dword [0x5986f0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5986f4], 0xa
setl cl
test cl, al
jne 0x4b8679
xor cl, al
je 0x4b86ac
jmp 0x4b8679
mov eax, dword [ebp + 0x18]
mov dword [eax], 4
mov eax, dword [esi + 0x34]
mov byte [eax], 0
xor eax, eax
mov ecx, dword [esi + 0x58]
mov dword fs:[0], ecx
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
mov ecx, dword [ebp + 0xc]
push str.CONNECT
call fcn.0049da90
mov ebx, dword [0x5986f0]
mov ecx, dword [0x5986f4]
lea edx, [ebx - 1]
imul edx, ebx
and edx, 1
sete ah
cmp ecx, 0xa
setl bl
test bl, ah
jne 0x4b86bb
xor bl, ah
jne 0x4b86bb
mov ecx, dword [ebp + 0xc]
push str.CONNECT
call fcn.0049da90
jmp 0x4b8679
test al, al
jne 0x4b8b60
mov eax, 0xfffffed3
mov ebx, dword [ebp + 0x10]
add eax, dword [ebx + 0x18]
cmp eax, 0x63
setb al
mov ebx, dword [esi + 0xc]
cmp byte [ebx + 0x169], 0
setne ah
and ah, al
mov byte [esi + 0x14], ah
mov ebx, dword [0x5986f8]
mov edi, dword [0x5986fc]
mov dword [esi + 0x2c], edi
lea eax, [ebx + 1]
imul eax, ebx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete bl
cmp edi, 0xa
setl bh
xor bh, bl
mov edi, 0xdbc73a8a
mov ebx, 0x5a9126ec
cmovne ebx, edi
mov dword [esi + 0x28], ebx
cmp eax, 0xffffffff
sete byte [esi + 2]
cmovne edi, ebx
cmp dword [esi + 0x2c], 0xa
setl byte [esi + 3]
mov eax, dword [esi + 0x18]
movzx ebx, byte [esi + 0x14]
mov byte [eax], bl
cmovge edi, dword [esi + 0x28]
mov dword [esi + 0x28], edi
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x134]
mov dword [esi + 0x2c], eax
mov ebx, 0x27c2f7d8
nop word cs:[eax + eax]
cmp ebx, 0x27c2f7d7
jg 0x4b8780
cmp ebx, 0xb23cce76
je 0x4b87c3
cmp ebx, 0xdbc73a8a
jne 0x4b8760
jmp 0x4b87cf
cmp ebx, 0x5a9126ec
je 0x4b87c8
cmp ebx, 0x27c2f7d8
jne 0x4b8760
movzx eax, byte [esi + 2]
mov byte [esi + 0x38], al
mov ah, byte [esi + 3]
xor al, ah
test ah, ah
mov ebx, 0x5a9126ec
mov edi, 0xb23cce76
cmovne ebx, edi
cmp byte [esi + 0x38], 0
mov edi, 0x5a9126ec
cmove ebx, edi
test al, al
mov eax, 0xb23cce76
cmovne ebx, eax
jmp 0x4b8760
mov ebx, dword [esi + 0x28]
jmp 0x4b8760
mov ebx, 0xb23cce76
jmp 0x4b8760
cmp dword [esi + 0x2c], 0
sete byte [esi + 0x10]
movzx eax, byte [esi + 0x10]
mov ah, byte [esi + 0x14]
cmp ah, al
jne 0x4b881c
xor ah, 1
xor al, 1
or al, ah
je 0x4b881c
mov eax, dword [ebp + 0xc]
lea ecx, [eax + 0x110]
mov dword [esi + 0x60], 0xffffffff
push dword [ebp + 0x10]
call fcn.004c2e90
mov edx, dword [0x5986f0]
mov ecx, dword [0x5986f4]
lea ebx, [edx - 1]
imul edx, ebx
and edx, 1
test al, al
je 0x4b8868
test edx, edx
setne al
cmp ecx, 0xa
setge dl
mov ecx, edx
xor cl, al
or dl, al
xor dl, 1
or dl, cl
mov byte [esi + 0x27], dl
mov eax, dword [0x598700]
mov dword [esi + 0x38], eax
mov eax, dword [0x598704]
mov dword [esi + 0x14], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x15c]
mov dword [esi + 0x2c], eax
jne 0x4b896e
mov eax, dword [esi + 0x38]
lea ecx, [eax - 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x28], ecx
jmp 0x4b88ce
test edx, edx
sete dl
setne al
cmp ecx, 0xa
setl ah
setge cl
cmp ah, dl
mov edi, dword [esi + 0x34]
jne 0x4b8884
or cl, al
jne 0x4b88c0
mov eax, dword [ebp + 0x18]
mov dword [eax], 7
mov byte [edi], 0
mov eax, dword [0x5986f0]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5986f4], 0xa
setl cl
test cl, al
jne 0x4b8bac
xor cl, al
jne 0x4b8bac
mov eax, dword [ebp + 0x18]
mov dword [eax], 7
mov byte [edi], 0
jmp 0x4b8884
mov edi, dword [esi + 0x28]
test edi, edi
sete al
mov edx, dword [esi + 0x14]
cmp edx, 0xa
setl cl
xor cl, al
mov ebx, 0x65953cea
mov eax, 0xf2228b8a
cmovne eax, ebx
test edi, edi
sete byte [esi + 2]
cmovne ebx, eax
cmp edx, 0xa
setl byte [esi + 3]
cmovge ebx, eax
mov ecx, 0x2bbc38ab
mov edi, 0xdd8faa88
jmp 0x4b8910
mov ecx, ebx
nop
cmp ecx, 0x2bbc38aa
jg 0x4b8930
cmp ecx, 0xdd8faa88
je 0x4b890d
cmp ecx, 0xf2228b8a
jne 0x4b8910
mov ecx, 0xdd8faa88
jmp 0x4b8910
cmp ecx, 0x65953cea
je 0x4b8962
cmp ecx, 0x2bbc38ab
jne 0x4b8910
movzx edx, byte [esi + 2]
movzx ecx, byte [esi + 3]
mov ch, dl
xor ch, cl
mov eax, 0xf2228b8a
cmovne eax, edi
test cl, cl
mov ecx, eax
cmovne ecx, edi
test dl, dl
cmove ecx, eax
jmp 0x4b8910
cmp dword [esi + 0x2c], 0
sete byte [esi + 0x10]
movzx eax, byte [esi + 0x10]
mov eax, dword [esi + 0x38]
lea edi, [eax + 1]
imul edi, eax
mov ecx, edi
and ecx, 1
sete cl
mov eax, dword [esi + 0x14]
cmp eax, 0xa
setl dl
xor dl, cl
mov edx, 0x65953cea
mov ecx, 0xf2228b8a
cmovne ecx, edx
and edi, 1
mov dword [esi + 0x28], edi
sete byte [esi + 2]
cmovne edx, ecx
cmp eax, 0xa
setl byte [esi + 3]
cmovge edx, ecx
mov ebx, 0x2bbc38ab
mov edi, 0xdd8faa88
nop dword [eax + eax]
cmp ebx, 0x2bbc38aa
jg 0x4b89e0
cmp ebx, 0xdd8faa88
je 0x4b8a11
cmp ebx, 0xf2228b8a
jne 0x4b89c0
mov ebx, 0xdd8faa88
jmp 0x4b89c0
cmp ebx, 0x65953cea
je 0x4b8a15
cmp ebx, 0x2bbc38ab
jne 0x4b89c0
movzx ecx, byte [esi + 2]
mov ch, byte [esi + 3]
mov ebx, ecx
xor bl, ch
mov eax, 0xf2228b8a
cmovne eax, edi
test ch, ch
mov ebx, eax
cmovne ebx, edi
test cl, cl
cmove ebx, eax
jmp 0x4b89c0
mov ebx, edx
jmp 0x4b89c0
cmp dword [esi + 0x2c], 0
sete byte [esi + 0x10]
movzx ecx, byte [esi + 0x10]
cmp byte [esi + 0x27], 0
je 0x4b88ce
test cl, 1
mov edx, dword [esi + 0x1c]
je 0x4b8aa7
mov dword [esi + 0x60], 0
mov eax, dword [ebp + 0x10]
mov dword [edx], eax
mov ecx, dword [esi + 8]
mov dword [ecx + 0x24], 0
mov dword [esi + 0x60], 0
push edx
call fcn.004e9650
mov eax, dword [0x5986f0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5986f4], 0xa
setl cl
test cl, al
mov edi, dword [esi + 8]
jne 0x4b8acd
xor cl, al
jne 0x4b8acd
mov eax, dword [ebp + 0x10]
mov edx, dword [esi + 0x1c]
mov dword [edx], eax
mov dword [edi + 0x24], 0
mov dword [esi + 0x60], 5
mov ecx, edi
push edx
call fcn.004e9650
mov edx, dword [esi + 0x1c]
mov eax, dword [ebp + 0x10]
jmp 0x4b8a3d
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x3c]
mov dword [edx], eax
mov eax, dword [ebp + 0xc]
mov dword [edx + 4], eax
mov eax, dword [ebp + 0x18]
mov dword [edx + 8], eax
mov dword [esi + 0x60], 0xffffffff
mov edi, dword [esi + 8]
mov ecx, edi
push edx
call fcn.004c2fd0
mov dword [esi + 0x3c], esp
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0x40]
mov dword [ecx], eax
mov eax, dword [esi + 0x18]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 0x18]
mov dword [ecx + 8], eax
push eax
sub esp, 0x60
mov ebx, esp
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 0x1a1]
mov byte [esi + 0x18], al
lea ecx, [ebx + 0x38]
mov dword [ebx + 0x5c], 0
mov dword [esi + 0x14], ecx
push edi
call fcn.004f1e60
mov dword [esi + 0x1c], ebx
lea ecx, [ebx + 0x10]
mov dword [esi + 0x60], 2
push dword [esi + 0x40]
call fcn.004c3540
call fcn.004c3680
mov ecx, dword [ebp + 8]
mov edx, dword [esi + 0x1c]
mov dword [edx], ecx
mov ecx, dword [ebp + 0x10]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov eax, dword [esi + 0x48]
mov dword [edx + 0xc], eax
movzx eax, byte [esi + 0x18]
mov byte [edx + 0x60], al
mov dword [esi + 0x60], 1
call fcn.004c30c0
add esp, 0x64
mov esp, dword [esi + 0x3c]
test al, al
je 0x4b8b8e
mov ecx, dword [esi + 8]
call fcn.004ba6d0
mov eax, dword [0x5986f0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5986f4], 0xa
setl cl
test cl, al
jne 0x4b8bb4
xor cl, al
je 0x4b8cdb
jmp 0x4b8bb4
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
cmp dword [eax], 7
mov edi, dword [esi + 0x34]
mov ecx, dword [esi + 8]
je 0x4b8ba4
mov dword [eax], 4
mov byte [edi], 0
call fcn.004ba6d0
movzx eax, byte [edi]
jmp 0x4b8663
vxorps xmm0, xmm0, xmm0
mov edi, dword [esi + 4]
vmovups xmmword [edi], xmm0
mov eax, dword [0x5974e8]
mov ecx, dword [0x5974ec]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
sete byte [esi + 2]
mov edx, 0x67a8215d
mov eax, 0xe2a1ad2c
cmove eax, edx
cmp ecx, 0xa
mov ecx, 0xe2a1ad2c
cmovge eax, ecx
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx]
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov edi, ecx
setl cl
setl byte [esi + 3]
xor cl, bl
cmovne eax, edx
mov edx, 0x48a73950
mov ecx, 0x255a5ce
mov dword [esi + 8], edi
nop word cs:[eax + eax]
cmp edx, 0x48a7394f
jg 0x4b8c50
cmp edx, 0xe2a1ad2c
je 0x4b8c85
cmp edx, 0x255a5ce
jne 0x4b8c30
mov edx, eax
jmp 0x4b8c30
cmp edx, 0x67a8215d
je 0x4b8c8c
cmp edx, 0x48a73950
jne 0x4b8c30
movzx ebx, byte [esi + 2]
movzx edx, byte [esi + 3]
mov dh, bl
xor dh, dl
mov edi, 0xe2a1ad2c
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
mov edi, dword [esi + 8]
jmp 0x4b8c30
mov edx, 0x255a5ce
jmp 0x4b8c30
mov dword [esi + 0x10], 0xa
mov eax, dword [esi + 0x10]
mov dword [esi + 0x60], 0xffffffff
mov ecx, dword [esi + 4]
push eax
push str.Connection
call fcn.004134d0
mov eax, dword [0x5986f0]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5986f4], 0xa
setl cl
test cl, al
jne 0x4b8dcb
xor cl, al
jne 0x4b8dcb
vxorps xmm0, xmm0, xmm0
mov eax, dword [esi + 4]
vmovups xmmword [eax], xmm0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov eax, dword [0x5974e8]
mov ecx, dword [0x5974ec]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete bl
sete byte [esi + 2]
mov edx, 0x67a8215d
mov eax, 0xe2a1ad2c
cmove eax, edx
cmp ecx, 0xa
mov ecx, 0xe2a1ad2c
setl byte [esi + 3]
setl bh
cmovge eax, ecx
xor bh, bl
cmovne eax, edx
mov edi, 0x48a73950
mov edx, 0x255a5ce
jmp 0x4b8d50
mov edi, 0x255a5ce
nop dword [eax]
cmp edi, 0x48a7394f
jg 0x4b8d70
cmp edi, 0xe2a1ad2c
je 0x4b8d44
cmp edi, 0x255a5ce
jne 0x4b8d50
mov edi, eax
jmp 0x4b8d50
cmp edi, 0x67a8215d
je 0x4b8da7
cmp edi, 0x48a73950
jne 0x4b8d50
movzx ebx, byte [esi + 2]
movzx ecx, byte [esi + 3]
mov bh, cl
xor bh, bl
test cl, cl
mov edi, 0xe2a1ad2c
cmovne edi, edx
test bl, bl
mov ecx, 0xe2a1ad2c
cmove edi, ecx
test bh, bh
cmovne edi, edx
jmp 0x4b8d50
mov dword [esi + 0x10], 0xa
mov eax, dword [esi + 0x10]
mov dword [esi + 0x60], 0xffffffff
mov ecx, dword [esi + 4]
push eax
push str.Connection
call fcn.004134d0
jmp 0x4b8bb4
mov dword [esi + 0x60], 3
mov ecx, edi
push 0
push dword [esi + 4]
push dword [esi + 0x30]
call fcn.004c3750
mov edi, dword [esi + 0x30]
mov ecx, edi
push str.close
call fcn.0049da90
test al, al
je 0x4b8e62
mov ecx, edi
call fcn.0040e680
mov ecx, dword [esi + 4]
call fcn.0040e680
mov edi, dword [esi + 0xc]
lea ecx, [edi + 0x40]
mov dword [esi + 0x60], 0xffffffff
mov dword [esi + 0x20], ecx
call fcn.004a23f0
lea edx, [edi + 0x3c]
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
mov dword [esi + 0x60], 4
mov ecx, edi
push 1
mov dword [esi + 4], edx
push edx
call eax
mov ecx, dword [0x5986f0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5986f4], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x4b8ea0
or cl, al
test cl, 1
je 0x4b8ea0
nop word [eax + eax]
jmp 0x4b8e60
mov ecx, dword [esi + 8]
push str.HTTP_1.0
call fcn.0049da90
mov edi, dword [0x5986f0]
mov ecx, dword [0x5986f4]
lea edx, [edi - 1]
imul edx, edi
and edx, 1
test al, al
je 0x4b8ec6
test edx, edx
sete al
cmp ecx, 0xa
setl cl
test cl, al
mov edi, dword [esi + 8]
jne 0x4b8eca
xor cl, al
je 0x4b8f04
jmp 0x4b8eca
mov ecx, dword [esi + 0xc]
push dword [esi + 4]
call fcn.004a1ce0
mov ecx, dword [esi + 0xc]
push dword [esi + 4]
call fcn.004a1f20
push dword [esi + 0x20]
call fcn.0055eb4b
add esp, 4
jmp 0x4b8f4a
xor ebx, ebx
jmp 0x4b8f13
lea ecx, [edi + 0x1c]
push str.Connection_established
call fcn.0049da90
mov ebx, eax
xor bl, 1
mov eax, dword [0x5986f0]
mov ecx, dword [0x5986f4]
lea edx, [eax - 1]
imul edx, eax
and edx, 1
sete al
cmp ecx, 0xa
setl ah
test ah, al
jne 0x4b8f13
xor ah, al
mov edi, dword [esi + 8]
jne 0x4b8f13
lea ecx, [edi + 0x1c]
push str.Connection_established
call fcn.0049da90
jmp 0x4b8eca
test edx, edx
sete al
cmp ecx, 0xa
setl cl
test cl, al
jne 0x4b8f32
xor cl, al
jne 0x4b8f32
nop word cs:[eax + eax]
jmp 0x4b8f30
mov ecx, dword [esi + 0x30]
call fcn.0040e680
mov ecx, dword [esi + 4]
call fcn.0040e680
test bl, bl
jne 0x4b8e03
mov ecx, dword [0x5986f0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
cmp dword [0x5986f4], 0xa
setge ch
setl dl
xor dl, cl
or ch, al
xor ch, 1
or ch, dl
mov eax, dword [0x598318]
mov dword [esi + 0x30], eax
mov eax, dword [0x59831c]
mov dword [esi + 4], eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x244]
mov dword [esi + 0x20], eax
mov byte [esi + 0x18], ch
test ch, 1
jne 0x4b9055
mov ecx, dword [esi + 0x30]
lea eax, [ecx + 1]
imul eax, ecx
mov ebx, eax
xor ebx, 0xfffffffe
and ebx, eax
test ebx, ebx
sete cl
sete byte [esi + 2]
mov eax, 0x9ce5d0c1
mov ebx, 0x2236a793
mov edi, 0x2236a793
cmove edi, eax
cmp dword [esi + 4], 0xa
setl byte [esi + 3]
setl dl
cmovge edi, ebx
xor dl, cl
cmovne edi, eax
mov eax, 0x8629259f
mov edx, 0x64c360f6
jmp 0x4b9010
movzx ecx, byte [esi + 2]
movzx eax, byte [esi + 3]
mov ch, cl
xor ch, al
test al, al
mov eax, 0x2236a793
cmovne eax, edx
test cl, cl
cmove eax, ebx
test ch, ch
cmovne eax, edx
nop word cs:[eax + eax]
cmp eax, 0x2236a792
jg 0x4b9030
cmp eax, 0x8629259f
je 0x4b8fe3
cmp eax, 0x9ce5d0c1
jne 0x4b9010
jmp 0x4b9049
cmp eax, 0x2236a793
je 0x4b9042
cmp eax, 0x64c360f6
jne 0x4b9010
mov eax, edi
jmp 0x4b9010
mov eax, 0x64c360f6
jmp 0x4b9010
cmp dword [esi + 0x20], 0
sete byte [esi + 0x10]
movzx eax, byte [esi + 0x10]
mov eax, dword [esi + 0x30]
lea ebx, [eax + 1]
imul ebx, eax
and ebx, 1
sete cl
sete byte [esi + 2]
mov edx, 0x9ce5d0c1
mov eax, 0x2236a793
cmove eax, edx
cmp dword [esi + 4], 0xa
mov edi, 0x2236a793
cmovge eax, edi
setl ch
setl byte [esi + 3]
xor ch, cl
cmovne eax, edx
mov edi, 0x8629259f
nop word cs:[eax + eax]
cmp edi, 0x2236a792
jg 0x4b90c0
cmp edi, 0x8629259f
je 0x4b90d4
cmp edi, 0x9ce5d0c1
jne 0x4b90a0
jmp 0x4b910c
cmp edi, 0x2236a793
je 0x4b9105
cmp edi, 0x64c360f6
jne 0x4b90a0
mov edi, eax
jmp 0x4b90a0
movzx edx, byte [esi + 2]
mov ch, byte [esi + 3]
mov cl, dl
xor cl, ch
mov dword [esi + 0x1c], ebx
mov ebx, 0x2236a793
mov edi, 0x64c360f6
cmovne ebx, edi
test ch, ch
mov edi, ebx
mov ecx, 0x64c360f6
cmovne edi, ecx
test dl, dl
cmove edi, ebx
mov ebx, dword [esi + 0x1c]
jmp 0x4b90a0
mov edi, 0x64c360f6
jmp 0x4b90a0
cmp dword [esi + 0x20], 0
sete byte [esi + 0x10]
movzx eax, byte [esi + 0x10]
test byte [esi + 0x18], 1
je 0x4b8fa9
test al, 1
je 0x4b9133
mov eax, dword [esi + 0x34]
mov byte [eax], 1
mov al, 1
jmp 0x4b8663
mov ecx, dword [esi + 0xc]
add ecx, 0x220
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov dword [esi + 0x60], 0xffffffff
mov dword [esi + 0xc], ecx
push dword [esi + 8]
mov dword [esi + 4], eax
push eax
call fcn.004c3a70
mov ecx, dword [0x5986f0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5986f4], 0xa
setge cl
setl ch
xor ch, dl
jne 0x4b9126
or cl, al
test cl, 1
je 0x4b9126
mov ebx, dword [esi + 0xc]
mov edi, dword [esi + 8]
nop word cs:[eax + eax]
mov ecx, ebx
push edi
push dword [esi + 4]
call fcn.004c3a70
mov ecx, ebx
push edi
push dword [esi + 4]
call fcn.004c3a70
mov eax, dword [0x5986f0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5986f4], 0xa
setl cl
test cl, al
jne 0x4b9126
xor cl, al
je 0x4b9190
jmp 0x4b9126