Function at 0x4ac630
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58f1e3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x40
push ebx
mov dword [ebp - 0x1c], 0
mov eax, dword [0x5f5774]
mov edx, dword [eax + 0xc]
push esi
mov dword [ebp - 0x18], ecx
push edi
mov ecx, 0x5f5774
call edx
add eax, 0x10
mov dword [ebp - 0x30], eax
mov dword [ebp - 4], 1
mov eax, dword [0x5f5774]
mov edx, dword [eax + 0xc]
mov ecx, 0x5f5774
call edx
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 3
mov eax, dword [0x5f5774]
mov edx, dword [eax + 0xc]
mov ecx, 0x5f5774
call edx
add eax, 0x10
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 5
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
push 0
lea edi, [esi + esi]
push edi
push ebx
call fcn.0050a0a0
add esp, 0xc
push 0x5f5774
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00416bc0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.004198e0
mov esi, dword [ebp - 0x28]
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x38], 0
test eax, eax
jg 0x4ac6ec
or ebx, 0xffffffff
jmp 0x4ac706
push 0x3b
push esi
call fcn.00555d9c
add esp, 8
test eax, eax
jne 0x4ac700
or ebx, 0xffffffff
jmp 0x4ac706
sub eax, esi
sar eax, 1
mov ebx, eax
cmp dword [esi - 0xc], 0
jl 0x4af5af
push 0x59fefc
push esi
call fcn.00555f9b
add esp, 8
test eax, eax
je 0x4af5af
sub eax, esi
sar eax, 1
mov dword [ebp - 0x3c], eax
cmp eax, 0xffffffff
je 0x4af5af
cmp ebx, 0xffffffff
je 0x4af5af
nop
cmp ebx, dword [ebp - 0x3c]
jge 0x4ac773
inc dword [ebp - 0x38]
mov ecx, dword [esi - 0xc]
lea eax, [ebx + 1]
test eax, eax
js 0x4ac773
cmp eax, ecx
jge 0x4ac773
lea eax, [esi + eax*2]
push 0x3b
push eax
call fcn.00555d9c
add esp, 8
test eax, eax
je 0x4ac773
sub eax, esi
sar eax, 1
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4ac740
mov ebx, dword [ebp - 0x38]
cmp ebx, 7
jne 0x4ac8c0
cmp dword [esi - 0xc], 0
jg 0x4ac78e
mov dword [ebp - 0x24], 0xffffffff
jmp 0x4ac7ad
push 0x3b
push esi
call fcn.00555d9c
add esp, 8
test eax, eax
jne 0x4ac7a6
mov dword [ebp - 0x24], 0xffffffff
jmp 0x4ac7ad
sub eax, esi
sar eax, 1
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [esi - 0xc]
inc ecx
mov dword [ebp - 0x40], ecx
js 0x4ac7d7
cmp ecx, eax
jge 0x4ac7d7
lea ecx, [esi + ecx*2]
push 0x3b
push ecx
call fcn.00555d9c
add esp, 8
test eax, eax
je 0x4ac7d7
sub eax, esi
sar eax, 1
mov edi, eax
jmp 0x4ac7da
or edi, 0xffffffff
mov ecx, dword [esi - 0xc]
lea eax, [edi + 1]
test eax, eax
js 0x4ac800
cmp eax, ecx
jge 0x4ac800
lea edx, [esi + eax*2]
push 0x3b
push edx
call fcn.00555d9c
add esp, 8
test eax, eax
je 0x4ac800
sub eax, esi
sar eax, 1
jmp 0x4ac803
or eax, 0xffffffff
lea ecx, [eax + 1]
mov dword [ebp - 0x38], eax
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x44], ecx
test ecx, ecx
js 0x4ac82f
cmp ecx, eax
jge 0x4ac82f
lea eax, [esi + ecx*2]
push 0x3b
push eax
call fcn.00555d9c
add esp, 8
test eax, eax
je 0x4ac82f
sub eax, esi
sar eax, 1
jmp 0x4ac832
or eax, 0xffffffff
lea ecx, [eax + 1]
mov dword [ebp - 0x34], eax
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x48], ecx
test ecx, ecx
js 0x4ac860
cmp ecx, eax
jge 0x4ac860
lea ecx, [esi + ecx*2]
push 0x3b
push ecx
call fcn.00555d9c
add esp, 8
test eax, eax
je 0x4ac860
sub eax, esi
sar eax, 1
mov ebx, eax
jmp 0x4ac863
or ebx, 0xffffffff
mov ecx, dword [esi - 0xc]
lea eax, [ebx + 1]
test eax, eax
js 0x4ac889
cmp eax, ecx
jge 0x4ac889
lea edx, [esi + eax*2]
push 0x3b
push edx
call fcn.00555d9c
add esp, 8
test eax, eax
je 0x4ac889
sub eax, esi
sar eax, 1
jmp 0x4ac88c
or eax, 0xffffffff
inc eax
mov ecx, dword [esi - 0xc]
js 0x4ac8a8
cmp eax, ecx
jge 0x4ac8a8
lea eax, [esi + eax*2]
push 0x3b
push eax
call fcn.00555d9c
add esp, 8
test eax, eax
jne 0x4ac8b4
mov dword [ebp - 0x2c], 0xffffffff
jmp 0x4aca6e
sub eax, esi
sar eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x4aca6e
jle 0x4af5af
cmp dword [esi - 0xc], 0
jg 0x4ac8d5
mov dword [ebp - 0x24], 0xffffffff
jmp 0x4ac8f4
push 0x3b
push esi
call fcn.00555d9c
add esp, 8
test eax, eax
jne 0x4ac8ed
mov dword [ebp - 0x24], 0xffffffff
jmp 0x4ac8f4
sub eax, esi
sar eax, 1
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [esi - 0xc]
inc ecx
mov dword [ebp - 0x40], ecx
js 0x4ac91e
cmp ecx, eax
jge 0x4ac91e
lea ecx, [esi + ecx*2]
push 0x3b
push ecx
call fcn.00555d9c
add esp, 8
test eax, eax
je 0x4ac91e
sub eax, esi
sar eax, 1
mov edi, eax
jmp 0x4ac921
or edi, 0xffffffff
lea eax, [ebx - 7]
test eax, eax
jle 0x4ac95e
mov ebx, eax
lea ebx, [ebx]
mov ecx, dword [esi - 0xc]
lea eax, [edi + 1]
test eax, eax
js 0x4ac958
cmp eax, ecx
jge 0x4ac958
lea edx, [esi + eax*2]
push 0x3b
push edx
call fcn.00555d9c
add esp, 8
test eax, eax
je 0x4ac958
sub eax, esi
sar eax, 1
mov edi, eax
jmp 0x4ac95b
or edi, 0xffffffff
dec ebx
jne 0x4ac930
mov ecx, dword [esi - 0xc]
lea eax, [edi + 1]
test eax, eax
js 0x4ac984
cmp eax, ecx
jge 0x4ac984
lea eax, [esi + eax*2]
push 0x3b
push eax
call fcn.00555d9c
add esp, 8
test eax, eax
je 0x4ac984
sub eax, esi
sar eax, 1
jmp 0x4ac987
or eax, 0xffffffff
lea ecx, [eax + 1]
mov dword [ebp - 0x38], eax
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x44], ecx
test ecx, ecx
js 0x4ac9b3
cmp ecx, eax
jge 0x4ac9b3
lea ecx, [esi + ecx*2]
push 0x3b
push ecx
call fcn.00555d9c
add esp, 8
test eax, eax
je 0x4ac9b3
sub eax, esi
sar eax, 1
jmp 0x4ac9b6
or eax, 0xffffffff
lea ecx, [eax + 1]
mov dword [ebp - 0x34], eax
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x48], ecx
test ecx, ecx
js 0x4ac9e4
cmp ecx, eax
jge 0x4ac9e4
lea edx, [esi + ecx*2]
push 0x3b
push edx
call fcn.00555d9c
add esp, 8
test eax, eax
je 0x4ac9e4
sub eax, esi
sar eax, 1
mov ebx, eax
jmp 0x4ac9e7
or ebx, 0xffffffff
mov ecx, dword [esi - 0xc]
lea eax, [ebx + 1]
test eax, eax
js 0x4aca0d
cmp eax, ecx
jge 0x4aca0d
lea eax, [esi + eax*2]
push 0x3b
push eax
call fcn.00555d9c
add esp, 8
test eax, eax
je 0x4aca0d
sub eax, esi
sar eax, 1
jmp 0x4aca10
or eax, 0xffffffff
inc eax
mov ecx, dword [esi - 0xc]
js 0x4aca35
cmp eax, ecx
jge 0x4aca35
lea ecx, [esi + eax*2]
push 0x3b
push ecx
call fcn.00555d9c
add esp, 8
test eax, eax
je 0x4aca35
sub eax, esi
sar eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x4aca3c
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 0x2c]
inc eax
mov ecx, dword [esi - 0xc]
js 0x4aca67
cmp eax, ecx
jg 0x4aca67
lea edx, [esi + eax*2]
push 0x59fefc
push edx
call fcn.00555f9b
add esp, 8
test eax, eax
je 0x4aca67
sub eax, esi
sar eax, 1
mov dword [ebp - 0x3c], eax
jmp 0x4aca6e
mov dword [ebp - 0x3c], 0xffffffff
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
push eax
mov ecx, esi
call fcn.0046d810
sub edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x40]
dec edi
push edi
push ecx
lea edx, [ebp - 0x40]
push edx
lea ecx, [ebp - 0x28]
call fcn.00418b50
mov byte [ebp - 4], 8
mov ecx, eax
call fcn.0041ad00
mov ecx, eax
call fcn.004198e0
lea ecx, [esi + 0x18]
push eax
mov dword [ebp - 0x4c], ecx
call fcn.00407d40
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4acad2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 0x34]
mov edx, dword [ebp - 0x44]
mov ecx, edi
sub ecx, dword [ebp - 0x38]
lea eax, [ebp - 0x44]
dec ecx
push ecx
push edx
push eax
lea ecx, [ebp - 0x28]
call fcn.00418b50
mov byte [ebp - 4], 0xa
mov ecx, eax
call fcn.0041ad00
mov ecx, eax
call fcn.004198e0
mov esi, dword [ebp - 0x18]
add esi, 0x20
push eax
mov ecx, esi
call fcn.00407d40
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4acb2f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x48]
sub ebx, edi
dec ebx
push ebx
push ecx
lea edx, [ebp - 0x48]
push edx
lea ecx, [ebp - 0x28]
call fcn.00418b50
mov byte [ebp - 4], 0xc
mov ecx, eax
call fcn.0041ad00
mov ecx, eax
call fcn.004198e0
mov ebx, dword [ebp - 0x18]
add ebx, 0x24
push eax
mov ecx, ebx
call fcn.00407d40
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4acb86
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x24]
push ecx
push 0x59d7d4
lea edx, [ebp - 0x48]
push edx
mov ecx, esi
mov dword [ebp - 0x24], 0
call fcn.0041cc80
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x20]
call fcn.00407d40
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4acbd1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x20]
cmp dword [eax - 4], 1
jle 0x4acbe9
mov ecx, dword [eax - 0xc]
push ecx
lea ecx, [ebp - 0x20]
call fcn.00403bd0
mov eax, dword [ebp - 0x20]
push eax
call fcn.005553cb
mov edi, dword [ebp - 0x18]
add esp, 4
lea edx, [ebp - 0x24]
push edx
mov word [edi + 0xa], ax
push 0x59d7d4
lea eax, [ebp - 0x48]
push eax
mov ecx, esi
call fcn.0041cc80
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x20]
call fcn.00407d40
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4acc3d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x20]
cmp dword [eax - 4], 1
jle 0x4acc55
mov ecx, dword [eax - 0xc]
push ecx
lea ecx, [ebp - 0x20]
call fcn.00403bd0
mov eax, dword [ebp - 0x20]
push eax
call fcn.005553cb
add esp, 4
lea edx, [ebp - 0x24]
push edx
mov word [edi + 6], ax
push 0x59d7d4
lea eax, [ebp - 0x48]
push eax
mov ecx, esi
call fcn.0041cc80
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x20]
call fcn.00407d40
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4acca6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x20]
mov esi, 1
cmp dword [eax - 4], esi
jle 0x4accc2
mov ecx, dword [eax - 0xc]
push ecx
lea ecx, [ebp - 0x20]
call fcn.00403bd0
mov eax, dword [ebp - 0x20]
push eax
call fcn.005553cb
add esp, 4
lea edx, [ebp - 0x24]
push edx
mov word [edi + 4], ax
push 0x59ed7c
lea eax, [ebp - 0x48]
push eax
mov ecx, ebx
mov dword [ebp - 0x24], 0
call fcn.0041cc80
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x20]
call fcn.00407d40
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4acd1a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x20]
cmp dword [eax - 4], esi
jle 0x4acd31
mov ecx, dword [eax - 0xc]
push ecx
lea ecx, [ebp - 0x20]
call fcn.00403bd0
mov eax, dword [ebp - 0x20]
push eax
call fcn.005553cb
add esp, 4
lea edx, [ebp - 0x24]
push edx
mov word [edi + 0xc], ax
push 0x59ed7c
lea eax, [ebp - 0x48]
push eax
mov ecx, ebx
call fcn.0041cc80
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0x20]
call fcn.00407d40
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4acd82
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x20]
cmp dword [eax - 4], esi
jle 0x4acd99
mov ecx, dword [eax - 0xc]
push ecx
lea ecx, [ebp - 0x20]
call fcn.00403bd0
mov eax, dword [ebp - 0x20]
push eax
call fcn.005553cb
add esp, 4
lea edx, [ebp - 0x24]
push edx
mov word [edi + 0xe], ax
push 0x59ed7c
lea eax, [ebp - 0x48]
push eax
mov ecx, ebx
call fcn.0041cc80
mov byte [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x20]
call fcn.00407d40
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4acdea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x20]
cmp dword [eax - 4], esi
jle 0x4ace01
mov ecx, dword [eax - 0xc]
push ecx
lea ecx, [ebp - 0x20]
call fcn.00403bd0
mov eax, dword [ebp - 0x20]
push eax
call fcn.005553cb
mov ecx, dword [ebp - 0x3c]
mov word [edi + 0x10], ax
mov eax, dword [ebp - 0x2c]
sub ecx, eax
add esp, 4
sub ecx, esi
xor edx, edx
push ecx
inc eax
mov word [edi + 0x12], dx
push eax
lea edx, [ebp - 0x48]
push edx
lea ecx, [ebp - 0x28]
call fcn.00418b50
mov byte [ebp - 4], 0x1a
mov ecx, eax
call fcn.0041ad00
mov ecx, eax
call fcn.004198e0
lea ecx, [edi + 0x28]
push eax
call fcn.00407d40
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4ace6b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 0x4c]
push 7
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, edi
call fcn.0041e300
mov byte [ebp - 4], 0x1c
mov eax, dword [eax]
mov ecx, str.http:__
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4aceac
test dx, dx
je 0x4acea8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4aceac
add eax, 4
add ecx, 4
test dx, dx
jne 0x4ace86
xor eax, eax
jmp 0x4aceb1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne bl
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4aced9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x4acf1e
push edi
lea ecx, [ebp - 0x4c]
push str.http:__
push ecx
call fcn.00464010
add esp, 0xc
mov byte [ebp - 4], 0x1e
push eax
mov ecx, edi
call fcn.00407d40
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4acf1e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [edi]
push 0x2f
push eax
call fcn.00557400
add esp, 8
test eax, eax
jne 0x4acf34
or esi, 0xffffffff
jmp 0x4acf3a
sub eax, dword [edi]
sar eax, 1
mov esi, eax
push esi
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, edi
call fcn.0041e300
mov byte [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x30]
call fcn.00407d40
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4acf76
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx - 0xc]
add eax, 0xfffffff9
push eax
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0x30]
call fcn.004326e0
mov byte [ebp - 4], 0x22
push eax
lea ecx, [ebp - 0x30]
call fcn.00407d40
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4acfbc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [edi]
mov eax, dword [ecx - 0xc]
sub eax, esi
dec eax
push eax
lea edx, [ebp - 0x4c]
push edx
mov ecx, edi
call fcn.004326e0
mov byte [ebp - 4], 0x24
push eax
lea ecx, [ebp - 0x14]
call fcn.00407d40
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4ad000
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 0x18]
mov byte [edi + 0x3c], 0
mov ecx, dword [edi + 0x30]
mov edx, dword [ecx + 4]
push edx
lea ecx, [edi + 0x2c]
call fcn.0042ce70
mov eax, dword [edi + 0x30]
mov dword [eax + 4], eax
mov eax, dword [edi + 0x30]
mov dword [eax], eax
mov eax, dword [edi + 0x30]
mov dword [eax + 8], eax
lea eax, [ebp - 0x14]
push 0x59d4a4
push eax
mov dword [edi + 0x34], 0
call fcn.00442c30
mov ebx, dword [ebp - 0x30]
add esp, 8
test al, al
je 0x4add17
xor esi, esi
mov eax, dword [esi*4 + 0x5f3380]
test eax, eax
je 0x4ad074
cmp dword [ebx - 0xc], 0
jl 0x4ad074
push eax
push ebx
call fcn.00555f9b
add esp, 8
test eax, eax
je 0x4ad074
sub eax, ebx
sar eax, 1
cmp eax, 0xffffffff
jne 0x4ad07f
inc esi
cmp esi, 0xd
jl 0x4ad04c
jmp 0x4add17
mov edx, dword [esi*4 + 0x5f3380]
test edx, edx
jne 0x4ad08e
xor eax, eax
jmp 0x4ad0a2
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4ad093
sub eax, esi
sar eax, 1
push eax
push edx
lea ecx, [edi + 0x14]
call fcn.00405e50
mov eax, dword [edi + 0x14]
mov ecx, str.google.
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4ad0da
test dx, dx
je 0x4ad0d6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4ad0da
add eax, 4
add ecx, 4
test dx, dx
jne 0x4ad0b4
xor eax, eax
jmp 0x4ad0df
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x4aec83
push str.bing.
lea esi, [edi + 0x14]
push esi
call fcn.00424c30
add esp, 8
test al, al
jne 0x4aec83
push str.ask.
push esi
call fcn.00424c30
add esp, 8
test al, al
jne 0x4aec83
push str.mail.ru
push esi
call fcn.00424c30
add esp, 8
test al, al
jne 0x4aec83
push str.aol.
push esi
call fcn.00424c30
add esp, 8
test al, al
jne 0x4aec83
push str.yandex.
push esi
call fcn.00424c30
add esp, 8
test al, al
jne 0x4ae917
push 0x5a414c
push esi
call fcn.00424c30
add esp, 8
test al, al
jne 0x4ae917
push 0x5a413c
push esi
call fcn.00424c30
add esp, 8
test al, al
je 0x4ad44d
lea ecx, [ebp - 0x14]
call fcn.0042c7a0
mov esi, dword [ebp - 0x14]
cmp dword [esi - 0xc], 0
jge 0x4ad19f
or eax, 0xffffffff
jmp 0x4ad1ba
push 0x59fef0
push esi
call fcn.00555f9b
add esp, 8
test eax, eax
jne 0x4ad1b6
or eax, 0xffffffff
jmp 0x4ad1ba
sub eax, esi
sar eax, 1
lea ecx, [ebp - 0x44]
push ecx
push 0x5a4138
lea edx, [ebp - 0x2c]
inc eax
push edx
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x44], eax
call fcn.0041cc80
mov byte [ebp - 4], 0x49
lea eax, [ebp - 0x2c]
push 0x59c2bc
push eax
call fcn.00416b60
add esp, 8
test al, al
je 0x4ad2c1
mov bl, 0x4a
lea ecx, [ebp - 0x48]
push ecx
push 0x5a4134
lea edx, [ebp - 0x38]
push edx
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x48], 0
call fcn.0041cc80
mov byte [ebp - 4], bl
lea eax, [ebp - 0x38]
push 0x59d4a4
push eax
call fcn.00442c30
add esp, 8
test al, al
je 0x4ad26f
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx - 0xc]
sub eax, dword [ebp - 0x48]
lea edx, [ebp - 0x4c]
push eax
push edx
lea ecx, [ebp - 0x2c]
call fcn.004326e0
mov byte [ebp - 4], 0x4b
mov ecx, eax
call fcn.0041ad00
mov ecx, eax
call fcn.004198e0
mov esi, eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x2c]
call fcn.004ac520
push esi
mov ecx, eax
call fcn.00407d40
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4c]
call fcn.00404d60
lea ecx, [ebp - 0x44]
push ecx
push 0x5a4138
lea edx, [ebp - 0x40]
push edx
lea ecx, [ebp - 0x14]
call fcn.0041cc80
mov byte [ebp - 4], 0x4c
push eax
lea ecx, [ebp - 0x2c]
call fcn.00407d40
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x40]
call fcn.00404d60
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x38]
call fcn.00404d60
lea eax, [ebp - 0x2c]
push 0x59c2bc
push eax
call fcn.00416b60
add esp, 8
test al, al
jne 0x4ad1f2
push 0x59d134
lea ecx, [ebp - 0x48]
call fcn.0040bfb0
mov byte [ebp - 4], 0x4d
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x4c]
lea edi, [esi + 0x2c]
push edx
mov ecx, edi
call fcn.0050b2d0
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x48]
call fcn.00404d60
mov eax, dword [esi + 0x30]
mov esi, dword [ebp - 0x4c]
cmp esi, eax
je 0x4ad994
mov ebx, dword [ebp - 0x18]
lea eax, [esi + 0x10]
push eax
lea ecx, [ebx + 0x1c]
call fcn.00407d40
push 0x5a4130
lea ecx, [ebx + 0x1c]
call fcn.004ac1b0
cmp eax, 0xffffffff
je 0x4ad98d
lea ecx, [esi + 0x10]
call fcn.00404db0
mov ebx, eax
test ebx, ebx
je 0x4ad35f
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x4ad347
xor ebx, ebx
jmp 0x4ad35f
lea esi, [eax + eax]
mov eax, esi
call fcn.00558700
mov eax, esp
push 3
push esi
push ebx
push eax
call fcn.00472f50
mov ebx, eax
push ebx
call fcn.00505e00
add esp, 4
push str.that
lea ecx, [ebp - 0x48]
call fcn.0040bfb0
mov byte [ebp - 4], 0x4e
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, edi
call fcn.0050b2d0
mov edi, dword [eax]
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x48]
call fcn.00404d60
mov eax, dword [ebp - 0x18]
cmp edi, dword [eax + 0x30]
je 0x4ad3b5
push ebx
add eax, 0x1c
push 0x59e648
push eax
call fcn.004060d0
add esp, 0xc
jmp 0x4ad98d
mov eax, ebx
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ad3c0
sub eax, edx
lea edx, [eax*8]
push edx
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
test esi, esi
je 0x4ad444
mov eax, ebx
lea edx, [eax + 1]
jmp 0x4ad3f0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ad3f0
sub eax, edx
mov edx, eax
mov eax, ebx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ad400
push edx
push esi
sub eax, edi
push eax
push ebx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x18]
push esi
add eax, 0x1c
push 0x59e304
push eax
call fcn.004060d0
add esp, 0xc
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x4ad98d
lea eax, [edi + 0x10]
push eax
jmp 0x4ad982
push 0x5a410c
push esi
call fcn.00424c30
add esp, 8
test al, al
je 0x4ad9a5
lea ecx, [ebp - 0x14]
call fcn.0042c7a0
mov esi, dword [ebp - 0x14]
cmp dword [esi - 0xc], 0
jge 0x4ad479
or eax, 0xffffffff
jmp 0x4ad494
push 0x59fef0
push esi
call fcn.00555f9b
add esp, 8
test eax, eax
jne 0x4ad490
or eax, 0xffffffff
jmp 0x4ad494
sub eax, esi
sar eax, 1
lea ecx, [ebp - 0x44]
push ecx
push 0x5a4138
lea edx, [ebp - 0x2c]
inc eax
push edx
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x44], eax
call fcn.0041cc80
mov byte [ebp - 4], 0x4f
lea eax, [ebp - 0x2c]
push 0x59c2bc
push eax
call fcn.00416b60
add esp, 8
test al, al
je 0x4ad59f
mov bl, 0x50
lea esp, [esp]
lea ecx, [ebp - 0x48]
push ecx
push 0x5a4134
lea edx, [ebp - 0x38]
push edx
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x48], 0
call fcn.0041cc80
mov byte [ebp - 4], bl
lea eax, [ebp - 0x38]
push 0x59d4a4
push eax
call fcn.00442c30
add esp, 8
test al, al
je 0x4ad54d
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx - 0xc]
sub eax, dword [ebp - 0x48]
lea edx, [ebp - 0x4c]
push eax
push edx
lea ecx, [ebp - 0x2c]
call fcn.004326e0
mov byte [ebp - 4], 0x51
mov ecx, eax
call fcn.0041ad00
mov ecx, eax
call fcn.004198e0
mov esi, eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x2c]
call fcn.004ac520
push esi
mov ecx, eax
call fcn.00407d40
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4c]
call fcn.00404d60
lea ecx, [ebp - 0x44]
push ecx
push 0x5a4138
lea edx, [ebp - 0x40]
push edx
lea ecx, [ebp - 0x14]
call fcn.0041cc80
mov byte [ebp - 4], 0x52
push eax
lea ecx, [ebp - 0x2c]
call fcn.00407d40
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x40]
call fcn.00404d60
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x38]
call fcn.00404d60
lea eax, [ebp - 0x2c]
push 0x59c2bc
push eax
call fcn.00416b60
add esp, 8
test al, al
jne 0x4ad4d0
push 0x5a4108
lea ecx, [ebp - 0x48]
call fcn.0040bfb0
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x4c]
push edx
lea ecx, [edi + 0x2c]
call fcn.0050b2d0
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x48]
call fcn.00404d60
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [edi + 0x30]
je 0x4ad6fb
mov esi, dword [ebp - 0x18]
lea edi, [ebx + 0x10]
push edi
lea ecx, [esi + 0x1c]
call fcn.00407d40
push 0x5a4130
lea ecx, [esi + 0x1c]
call fcn.004ac1b0
cmp eax, 0xffffffff
je 0x4ad6e3
lea ecx, [ebx + 0x10]
call fcn.00404db0
mov ebx, eax
test ebx, ebx
je 0x4ad636
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x4ad61e
xor ebx, ebx
jmp 0x4ad636
lea esi, [eax + eax]
mov eax, esi
call fcn.00558700
mov eax, esp
push 3
push esi
push ebx
push eax
call fcn.00472f50
mov ebx, eax
push ebx
call fcn.00505e00
mov eax, ebx
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ad644
sub eax, edx
add eax, eax
add eax, eax
add eax, eax
push eax
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
test esi, esi
je 0x4ad6d7
mov eax, ebx
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ad670
sub eax, edx
mov edx, eax
mov eax, ebx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ad680
push edx
push esi
sub eax, edi
push eax
push ebx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x18]
push esi
add eax, 0x1c
push 0x59e304
push eax
call fcn.004060d0
add esp, 0xc
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x18]
mov byte [ecx + 0x3c], 1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c]
call fcn.00404d60
jmp 0x4add17
mov ecx, dword [ebp - 0x18]
push edi
add ecx, 0x1c
call fcn.00407d40
mov ecx, dword [ebp - 0x18]
mov byte [ecx + 0x3c], 1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c]
call fcn.00404d60
jmp 0x4add17
push 0x5a4104
lea ecx, [ebp - 0x48]
call fcn.0040bfb0
mov byte [ebp - 4], 0x54
lea edx, [ebp - 0x48]
push edx
lea eax, [ebp - 0x4c]
push eax
lea ecx, [edi + 0x2c]
call fcn.0050b2d0
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x48]
call fcn.00404d60
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [edi + 0x30]
je 0x4ad85b
mov esi, dword [ebp - 0x18]
lea edi, [ebx + 0x10]
push edi
lea ecx, [esi + 0x1c]
call fcn.00407d40
push 0x5a4130
lea ecx, [esi + 0x1c]
call fcn.004ac1b0
cmp eax, 0xffffffff
je 0x4ad843
lea ecx, [ebx + 0x10]
call fcn.00404db0
mov ebx, eax
test ebx, ebx
je 0x4ad792
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x4ad77a
xor ebx, ebx
jmp 0x4ad792
lea esi, [eax + eax]
mov eax, esi
call fcn.00558700
mov eax, esp
push 3
push esi
push ebx
push eax
call fcn.00472f50
mov ebx, eax
push ebx
call fcn.00505e00
mov eax, ebx
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ad7a0
sub eax, edx
lea ecx, [eax*8]
push ecx
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
test esi, esi
je 0x4ad837
mov eax, ebx
lea edx, [eax + 1]
jmp 0x4ad7d0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ad7d0
sub eax, edx
mov edx, eax
mov eax, ebx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ad7e0
push edx
push esi
sub eax, edi
push eax
push ebx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x18]
push esi
add eax, 0x1c
push 0x59e304
push eax
call fcn.004060d0
add esp, 0xc
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edx, dword [ebp - 0x18]
mov byte [edx + 0x3c], 1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c]
call fcn.00404d60
jmp 0x4add17
mov ecx, dword [ebp - 0x18]
push edi
add ecx, 0x1c
call fcn.00407d40
mov edx, dword [ebp - 0x18]
mov byte [edx + 0x3c], 1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c]
call fcn.00404d60
jmp 0x4add17
push 0x5a4100
lea ecx, [ebp - 0x48]
call fcn.0040bfb0
mov byte [ebp - 4], 0x55
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x4c]
push ecx
lea ecx, [edi + 0x2c]
call fcn.0050b2d0
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x48]
call fcn.00404d60
mov esi, dword [ebp - 0x4c]
cmp esi, dword [edi + 0x30]
je 0x4ad994
mov ebx, dword [ebp - 0x18]
lea edi, [esi + 0x10]
push edi
lea ecx, [ebx + 0x1c]
call fcn.00407d40
push 0x5a4130
lea ecx, [ebx + 0x1c]
call fcn.004ac1b0
cmp eax, 0xffffffff
je 0x4ad98d
lea ecx, [esi + 0x10]
call fcn.00404db0
mov ebx, eax
test ebx, ebx
je 0x4ad8f2
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x4ad8da
xor ebx, ebx
jmp 0x4ad8f2
lea esi, [eax + eax]
mov eax, esi
call fcn.00558700
mov eax, esp
push 3
push esi
push ebx
push eax
call fcn.00472f50
mov ebx, eax
push ebx
call fcn.00505e00
mov eax, ebx
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ad900
sub eax, edx
lea edx, [eax*8]
push edx
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
test esi, esi
je 0x4ad981
mov eax, ebx
lea edx, [eax + 1]
jmp 0x4ad930
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ad930
sub eax, edx
mov edx, eax
mov eax, ebx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ad940
push edx
push esi
sub eax, edi
push eax
push ebx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x18]
push esi
add eax, 0x1c
push 0x59e304
push eax
call fcn.004060d0
add esp, 0xc
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x4ad98d
push edi
mov ecx, dword [ebp - 0x18]
add ecx, 0x1c
call fcn.00407d40
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x3c], 1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c]
call fcn.00404d60
jmp 0x4add17
push str.rambler.
push esi
call fcn.00424c30
add esp, 8
test al, al
je 0x4adfe5
lea ecx, [ebp - 0x14]
call fcn.0042c7a0
push 5
lea ecx, [ebp - 0x44]
push ecx
lea ecx, [ebp - 0x14]
call fcn.0041e300
mov byte [ebp - 4], 0x56
push str.srch_
mov esi, 0x400
push eax
mov dword [ebp - 0x1c], esi
call fcn.00424c30
add esp, 8
mov edi, 0x57
test al, al
jne 0x4ada52
push 7
lea edx, [ebp - 0x48]
push edx
lea ecx, [ebp - 0x14]
call fcn.0041e300
mov dword [ebp - 4], edi
push str.search_
mov esi, 0xc00
push eax
mov dword [ebp - 0x1c], esi
call fcn.00424c30
add esp, 8
test al, al
jne 0x4ada52
push 6
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x14]
call fcn.0041e300
mov dword [ebp - 4], 0x58
push str.video_
mov esi, 0x1c00
push eax
mov dword [ebp - 0x1c], esi
call fcn.00424c30
add esp, 8
test al, al
jne 0x4ada52
xor bl, bl
jmp 0x4ada54
mov bl, 1
mov dword [ebp - 4], edi
test esi, 0x1000
je 0x4ada70
and esi, 0xffffefff
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x1c], esi
call fcn.00404d60
mov dword [ebp - 4], 0x56
test esi, 0x800
je 0x4ada90
and esi, 0xfffff7ff
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x1c], esi
call fcn.00404d60
mov dword [ebp - 4], 7
test esi, 0x400
je 0x4adab0
and esi, 0xfffffbff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x1c], esi
call fcn.00404d60
test bl, bl
je 0x4adbfb
mov esi, dword [ebp - 0x14]
cmp dword [esi - 0xc], 0
jge 0x4adac6
or eax, 0xffffffff
jmp 0x4adae1
push 0x59fef0
push esi
call fcn.00555f9b
add esp, 8
test eax, eax
jne 0x4adadd
or eax, 0xffffffff
jmp 0x4adae1
sub eax, esi
sar eax, 1
lea ecx, [ebp - 0x44]
push ecx
push 0x5a4138
lea edx, [ebp - 0x2c]
inc eax
push edx
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x44], eax
call fcn.0041cc80
mov byte [ebp - 4], 0x59
lea eax, [ebp - 0x2c]
push 0x59c2bc
push eax
call fcn.00416b60
add esp, 8
test al, al
je 0x4adbef
mov edi, dword [ebp - 0x18]
mov bl, 0x5a
lea esp, [esp]
lea ecx, [ebp - 0x48]
push ecx
push 0x5a4134
lea edx, [ebp - 0x38]
push edx
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x48], 0
call fcn.0041cc80
mov byte [ebp - 4], bl
lea eax, [ebp - 0x38]
push 0x59d4a4
push eax
call fcn.00442c30
add esp, 8
test al, al
je 0x4adb9d
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx - 0xc]
sub eax, dword [ebp - 0x48]
lea edx, [ebp - 0x4c]
push eax
push edx
lea ecx, [ebp - 0x2c]
call fcn.004326e0
mov byte [ebp - 4], 0x5b
mov ecx, eax
call fcn.0041ad00
mov ecx, eax
call fcn.004198e0
mov esi, eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x2c]
call fcn.004ac520
push esi
mov ecx, eax
call fcn.00407d40
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4c]
call fcn.00404d60
lea ecx, [ebp - 0x44]
push ecx
push 0x5a4138
lea edx, [ebp - 0x40]
push edx
lea ecx, [ebp - 0x14]
call fcn.0041cc80
mov byte [ebp - 4], 0x5c
push eax
lea ecx, [ebp - 0x2c]
call fcn.00407d40
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x40]
call fcn.00404d60
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x38]
call fcn.00404d60
lea eax, [ebp - 0x2c]
push 0x59c2bc
push eax
call fcn.00416b60
add esp, 8
test al, al
jne 0x4adb20
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c]
call fcn.00404d60
push str.query
lea ecx, [ebp - 0x48]
call fcn.0040bfb0
mov byte [ebp - 4], 0x5d
mov edi, dword [ebp - 0x18]
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x4c]
push edx
lea ecx, [edi + 0x2c]
call fcn.0050b2d0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x48]
call fcn.00404d60
mov esi, dword [ebp - 0x4c]
cmp esi, dword [edi + 0x30]
je 0x4ade55
lea eax, [esi + 0x10]
push eax
lea ecx, [edi + 0x1c]
call fcn.00407d40
push 0x5a4130
lea ecx, [edi + 0x1c]
call fcn.004ac1b0
cmp eax, 0xffffffff
je 0x4add13
lea ecx, [esi + 0x10]
call fcn.00404db0
mov ebx, eax
test ebx, ebx
jne 0x4adc6b
xor esi, esi
jmp 0x4adc96
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x4adc7e
xor esi, esi
jmp 0x4adc96
lea esi, [eax + eax]
mov eax, esi
call fcn.00558700
mov eax, esp
push 3
push esi
push ebx
push eax
call fcn.00472f50
mov esi, eax
push esi
call fcn.00505e00
mov eax, esi
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4adca4
sub eax, edx
cmp eax, 4
jb 0x4add01
xor ecx, ecx
mov al, byte [ecx + esi]
cmp al, 0xd0
je 0x4adcbf
cmp al, 0xd1
jne 0x4adceb
mov al, byte [ecx + esi + 1]
cmp al, 0xca
jb 0x4adccb
cmp al, 0xff
jbe 0x4adceb
mov al, byte [ecx + esi + 2]
cmp al, 0xd0
je 0x4adcd7
cmp al, 0xd1
jne 0x4adceb
mov al, byte [ecx + esi + 3]
cmp al, 0xca
jb 0x4adddd
cmp al, 0xff
ja 0x4adddd
mov eax, esi
inc ecx
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4adcf1
sub eax, ebx
add eax, 0xfffffffc
cmp ecx, eax
jbe 0x4adcb4
push esi
lea eax, [edi + 0x1c]
push 0x59e648
push eax
call fcn.004060d0
add esp, 0xc
mov byte [edi + 0x3c], 1
mov edi, dword [ebp - 0x3c]
lea ecx, [edi + edi + 4]
mov eax, 0xcccccccd
mul ecx
shr edx, 2
mov eax, ecx
add ecx, dword [ebp + 8]
lea edx, [edx + edx*4]
sub eax, edx
push eax
mov eax, dword [ebp + 0xc]
sub eax, edi
lea eax, [eax + eax - 4]
push eax
push ecx
call fcn.0050a0a0
add esp, 0xc
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4add69
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4add8c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4addaf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4addd5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi + 2]
jmp 0x4af64d
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4adde2
sub eax, edx
add eax, eax
add eax, eax
add eax, eax
push eax
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
test ebx, ebx
je 0x4ae905
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ade10
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ade20
push edx
push ebx
sub eax, edi
push eax
push esi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x18]
push ebx
add eax, 0x1c
push 0x59e304
push eax
call fcn.004060d0
add esp, 0xc
push ebx
jmp 0x4ae600
push str.words
lea ecx, [ebp - 0x48]
call fcn.0040bfb0
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x4c]
push edx
lea ecx, [edi + 0x2c]
call fcn.0050b2d0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x48]
call fcn.00404d60
mov esi, dword [ebp - 0x4c]
cmp esi, dword [edi + 0x30]
je 0x4add17
mov edi, dword [ebp - 0x18]
lea eax, [esi + 0x10]
push eax
lea ecx, [edi + 0x1c]
call fcn.00407d40
push 0x5a4130
lea ecx, [edi + 0x1c]
call fcn.004ac1b0
cmp eax, 0xffffffff
je 0x4add13
lea ecx, [esi + 0x10]
call fcn.00404db0
mov ebx, eax
test ebx, ebx
jne 0x4adec5
xor esi, esi
jmp 0x4adef0
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x4aded8
xor esi, esi
jmp 0x4adef0
lea esi, [eax + eax]
mov eax, esi
call fcn.00558700
mov eax, esp
push 3
push esi
push ebx
push eax
call fcn.00472f50
mov esi, eax
push esi
call fcn.00505e00
mov eax, esi
add esp, 4
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4adf00
sub eax, edx
cmp eax, 4
jb 0x4add01
xor ecx, ecx
mov al, byte [ecx + esi]
cmp al, 0xd0
je 0x4adf1f
cmp al, 0xd1
jne 0x4adf43
mov al, byte [ecx + esi + 1]
cmp al, 0xca
jb 0x4adf2b
cmp al, 0xff
jbe 0x4adf43
mov al, byte [ecx + esi + 2]
cmp al, 0xd0
je 0x4adf37
cmp al, 0xd1
jne 0x4adf43
mov al, byte [ecx + esi + 3]
cmp al, 0xca
jb 0x4adf65
cmp al, 0xff
ja 0x4adf65
mov eax, esi
inc ecx
lea ebx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4adf50
sub eax, ebx
add eax, 0xfffffffc
cmp ecx, eax
jbe 0x4adf14
jmp 0x4add01
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4adf70
sub eax, edx
add eax, eax
add eax, eax
add eax, eax
push eax
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
test ebx, ebx
je 0x4ae905
mov eax, esi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4adfa0
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4adfb0
push edx
push ebx
sub eax, edi
push eax
push esi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x18]
push ebx
add eax, 0x1c
push 0x59e304
push eax
call fcn.004060d0
add esp, 0xc
push ebx
jmp 0x4ae600
push str.lycos.com
push esi
call fcn.00424c30
add esp, 8
test al, al
je 0x4ae265
lea ecx, [ebp - 0x14]
call fcn.0042c7a0
push 0
push 0x59fef0
lea ecx, [ebp - 0x14]
call fcn.004177a0
lea ecx, [ebp - 0x44]
push ecx
push 0x5a4138
lea edx, [ebp - 0x2c]
inc eax
push edx
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x44], eax
call fcn.0041cc80
mov byte [ebp - 4], 0x5f
lea eax, [ebp - 0x2c]
push 0x59c2bc
push eax
call fcn.00416b60
add esp, 8
test al, al
je 0x4ae118
mov bl, 0x60
lea ebx, [ebx]
lea ecx, [ebp - 0x48]
push ecx
push 0x5a4134
lea edx, [ebp - 0x38]
push edx
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x48], 0
call fcn.0041cc80
mov byte [ebp - 4], bl
lea eax, [ebp - 0x38]
push 0x59d4a4
push eax
call fcn.00442c30
add esp, 8
test al, al
je 0x4ae0c6
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx - 0xc]
sub eax, dword [ebp - 0x48]
lea edx, [ebp - 0x4c]
push eax
push edx
lea ecx, [ebp - 0x2c]
call fcn.004326e0
mov byte [ebp - 4], 0x61
mov ecx, eax
call fcn.0041b3b0
mov esi, eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x2c]
call fcn.004ac520
push esi
mov ecx, eax
call fcn.00407d40
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4c]
call fcn.00404d60
lea ecx, [ebp - 0x44]
push ecx
push 0x5a4138
lea edx, [ebp - 0x40]
push edx
lea ecx, [ebp - 0x14]
call fcn.0041cc80
mov byte [ebp - 4], 0x62
push eax
lea ecx, [ebp - 0x2c]
call fcn.00407d40
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x40]
call fcn.00404d60
mov byte [ebp - 4], 0x5f
lea ecx, [ebp - 0x38]
call fcn.00404d60
lea eax, [ebp - 0x2c]
push 0x59c2bc
push eax
call fcn.00416b60
add esp, 8
test al, al
jne 0x4ae050
push str.query
lea ecx, [ebp - 0x48]
call fcn.0040bfb0
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x4c]
push edx
lea ecx, [edi + 0x2c]
call fcn.0050b2d0
mov byte [ebp - 4], 0x5f
lea ecx, [ebp - 0x48]
call fcn.00404d60
mov esi, dword [ebp - 0x4c]
cmp esi, dword [edi + 0x30]
je 0x4ae254
mov ebx, dword [ebp - 0x18]
lea edi, [esi + 0x10]
push edi
lea ecx, [ebx + 0x1c]
call fcn.00407d40
push 0x5a4130
lea ecx, [ebx + 0x1c]
call fcn.004ac1b0
cmp eax, 0xffffffff
je 0x4ae24d
lea ecx, [esi + 0x10]
call fcn.00404db0
mov ebx, eax
test ebx, ebx
je 0x4ae1af
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x4ae197
xor ebx, ebx
jmp 0x4ae1af
lea esi, [eax + eax]
mov eax, esi
call fcn.00558700
mov eax, esp
push 3
push esi
push ebx
push eax
call fcn.00472f50
mov ebx, eax
push ebx
call fcn.00505e00
mov eax, ebx
add esp, 4
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ae1c0
sub eax, edx
add eax, eax
add eax, eax
add eax, eax
push eax
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
test esi, esi
je 0x4ae241
mov eax, ebx
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ae1f0
sub eax, edx
mov edx, eax
mov eax, ebx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ae200
push edx
push esi
sub eax, edi
push eax
push ebx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x18]
push esi
add eax, 0x1c
push 0x59e304
push eax
call fcn.004060d0
add esp, 0xc
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x4ae24d
mov ecx, dword [ebp - 0x18]
push edi
add ecx, 0x1c
call fcn.00407d40
mov ecx, dword [ebp - 0x18]
mov byte [ecx + 0x3c], 1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c]
call fcn.00404d60
jmp 0x4add17
push str.yahoo.
push esi
call fcn.00424c30
add esp, 8
test al, al
je 0x4ae628
lea ecx, [ebp - 0x14]
call fcn.0042c7a0
push 7
lea edx, [ebp - 0x40]
push edx
lea ecx, [ebp - 0x14]
call fcn.0041e300
mov byte [ebp - 4], 0x64
push str.images_
mov esi, 0x2000
push eax
mov dword [ebp - 0x1c], esi
call fcn.00424c30
add esp, 8
mov edi, 0x66
test al, al
jne 0x4ae345
push 7
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x14]
call fcn.0041e300
mov dword [ebp - 4], 0x65
push 0x5a4064
mov esi, 0x6000
push eax
mov dword [ebp - 0x1c], esi
call fcn.00424c30
add esp, 8
test al, al
jne 0x4ae345
push 6
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x14]
call fcn.0041e300
mov dword [ebp - 4], edi
push 0x5a4054
mov esi, 0xe000
push eax
mov dword [ebp - 0x1c], esi
call fcn.00424c30
add esp, 8
test al, al
jne 0x4ae345
push 5
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0x14]
call fcn.0041e300
mov dword [ebp - 4], 0x67
push 0x5a4048
mov esi, 0x1e000
push eax
mov dword [ebp - 0x1c], esi
call fcn.00424c30
add esp, 8
test al, al
jne 0x4ae345
xor bl, bl
jmp 0x4ae347
mov bl, 1
mov dword [ebp - 4], edi
test esi, 0x10000
je 0x4ae363
and esi, 0xfffeffff
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x1c], esi
call fcn.00404d60
mov dword [ebp - 4], 0x65
test esi, 0x8000
je 0x4ae383
and esi, 0xffff7fff
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x1c], esi
call fcn.00404d60
mov dword [ebp - 4], 0x64
test esi, 0x4000
je 0x4ae3a3
and esi, 0xffffbfff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x1c], esi
call fcn.00404d60
mov dword [ebp - 4], 7
test esi, 0x2000
je 0x4ae3c3
and esi, 0xffffdfff
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x1c], esi
call fcn.00404d60
test bl, bl
je 0x4ae4eb
push 0
push 0x59fef0
lea ecx, [ebp - 0x14]
call fcn.004177a0
inc eax
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
push 0x5a4138
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x14]
call fcn.0041cc80
mov byte [ebp - 4], 0x68
lea edx, [ebp - 0x2c]
push 0x59c2bc
push edx
call fcn.00416b60
mov edi, dword [ebp - 0x18]
add esp, 8
test al, al
je 0x4ae4dd
mov bl, 0x69
lea eax, [ebp - 0x48]
push eax
push 0x5a4134
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x48], 0
call fcn.0041cc80
mov byte [ebp - 4], bl
lea edx, [ebp - 0x38]
push 0x59d4a4
push edx
call fcn.00442c30
add esp, 8
test al, al
je 0x4ae48b
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax - 0xc]
sub eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x4c]
push eax
push ecx
lea ecx, [ebp - 0x2c]
call fcn.004326e0
mov byte [ebp - 4], 0x6a
mov ecx, eax
call fcn.0041b3b0
lea edx, [ebp - 0x38]
push edx
lea ecx, [edi + 0x2c]
mov esi, eax
call fcn.004ac520
push esi
mov ecx, eax
call fcn.00407d40
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4c]
call fcn.00404d60
lea eax, [ebp - 0x44]
push eax
push 0x5a4138
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x14]
call fcn.0041cc80
mov byte [ebp - 4], 0x6b
push eax
lea ecx, [ebp - 0x2c]
call fcn.00407d40
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x40]
call fcn.00404d60
mov byte [ebp - 4], 0x68
lea ecx, [ebp - 0x38]
call fcn.00404d60
lea edx, [ebp - 0x2c]
push 0x59c2bc
push edx
call fcn.00416b60
add esp, 8
test al, al
jne 0x4ae415
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c]
call fcn.00404d60
jmp 0x4ae4ee
mov edi, dword [ebp - 0x18]
push 0x5a4044
lea ecx, [ebp - 0x48]
call fcn.0040bfb0
mov byte [ebp - 4], 0x6c
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x4c]
push ecx
lea ecx, [edi + 0x2c]
call fcn.0050b2d0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x48]
call fcn.00404d60
mov esi, dword [ebp - 0x4c]
cmp esi, dword [edi + 0x30]
je 0x4add17
lea eax, [esi + 0x10]
push eax
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x4c], eax
call fcn.00407d40
push 0x5a4130
lea ecx, [edi + 0x1c]
call fcn.004ac1b0
cmp eax, 0xffffffff
je 0x4add13
lea ecx, [esi + 0x10]
call fcn.00404db0
mov ebx, eax
test ebx, ebx
je 0x4ae585
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x4ae56d
xor ebx, ebx
jmp 0x4ae585
lea esi, [eax + eax]
mov eax, esi
call fcn.00558700
mov eax, esp
push 3
push esi
push ebx
push eax
call fcn.00472f50
mov ebx, eax
push ebx
call fcn.00505e00
mov eax, ebx
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ae593
sub eax, edx
lea edx, [eax*8]
push edx
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
test esi, esi
je 0x4ae617
mov eax, ebx
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ae5c0
sub eax, edx
mov edx, eax
mov eax, ebx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ae5d0
push edx
push esi
sub eax, edi
push eax
push ebx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x18]
push esi
add eax, 0x1c
push 0x59e304
push eax
call fcn.004060d0
add esp, 0xc
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, dword [ebp - 0x18]
jmp 0x4add13
mov eax, dword [ebp - 0x4c]
push eax
lea ecx, [edi + 0x1c]
call fcn.00407d40
jmp 0x4add13
push str.wikipedia.org
push esi
call fcn.00424c30
add esp, 8
test al, al
je 0x4add17
lea ecx, [ebp - 0x14]
call fcn.0042c7a0
push 0
push str.index.php_
lea ecx, [ebp - 0x14]
call fcn.004177a0
test eax, eax
js 0x4ae778
push 0
push 0x59fef0
lea ecx, [ebp - 0x14]
call fcn.004177a0
lea ecx, [ebp - 0x44]
push ecx
push 0x5a4138
lea edx, [ebp - 0x2c]
inc eax
push edx
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x44], eax
call fcn.0041cc80
mov byte [ebp - 4], 0x6d
lea eax, [ebp - 0x2c]
push 0x59c2bc
push eax
call fcn.00416b60
add esp, 8
test al, al
je 0x4ae76c
mov bl, 0x6e
lea ecx, [ebp - 0x48]
push ecx
push 0x5a4134
lea edx, [ebp - 0x38]
push edx
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x48], 0
call fcn.0041cc80
mov byte [ebp - 4], bl
lea eax, [ebp - 0x38]
push 0x59d4a4
push eax
call fcn.00442c30
add esp, 8
test al, al
je 0x4ae71a
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx - 0xc]
sub eax, dword [ebp - 0x48]
lea edx, [ebp - 0x4c]
push eax
push edx
lea ecx, [ebp - 0x2c]
call fcn.004326e0
mov byte [ebp - 4], 0x6f
mov ecx, eax
call fcn.0041b3b0
mov esi, eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x2c]
call fcn.004ac520
push esi
mov ecx, eax
call fcn.00407d40
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4c]
call fcn.00404d60
lea ecx, [ebp - 0x44]
push ecx
push 0x5a4138
lea edx, [ebp - 0x40]
push edx
lea ecx, [ebp - 0x14]
call fcn.0041cc80
mov byte [ebp - 4], 0x70
push eax
lea ecx, [ebp - 0x2c]
call fcn.00407d40
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x40]
call fcn.00404d60
mov byte [ebp - 4], 0x6d
lea ecx, [ebp - 0x38]
call fcn.00404d60
lea eax, [ebp - 0x2c]
push 0x59c2bc
push eax
call fcn.00416b60
add esp, 8
test al, al
jne 0x4ae6a4
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c]
call fcn.00404d60
push str.search
lea ecx, [ebp - 0x48]
call fcn.0040bfb0
mov byte [ebp - 4], 0x71
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x4c]
push edx
lea ecx, [edi + 0x2c]
call fcn.0050b2d0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x48]
call fcn.00404d60
mov esi, dword [ebp - 0x4c]
cmp esi, dword [edi + 0x30]
je 0x4add17
lea eax, [esi + 0x10]
push eax
lea ecx, [edi + 0x1c]
call fcn.00407d40
push 0x5a4130
lea ecx, [edi + 0x1c]
call fcn.004ac1b0
cmp eax, 0xffffffff
je 0x4add13
lea ecx, [esi + 0x10]
call fcn.00404db0
mov ebx, eax
test ebx, ebx
jne 0x4ae7e5
xor esi, esi
jmp 0x4ae810
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x4ae7f8
xor esi, esi
jmp 0x4ae810
lea esi, [eax + eax]
mov eax, esi
call fcn.00558700
mov eax, esp
push 3
push esi
push ebx
push eax
call fcn.00472f50
mov esi, eax
push esi
call fcn.00505e00
mov eax, esi
add esp, 4
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ae820
sub eax, edx
cmp eax, 4
jb 0x4add01
xor ecx, ecx
mov al, byte [ecx + esi]
cmp al, 0xd0
je 0x4ae83f
cmp al, 0xd1
jne 0x4ae863
mov al, byte [ecx + esi + 1]
cmp al, 0xca
jb 0x4ae84b
cmp al, 0xff
jbe 0x4ae863
mov al, byte [ecx + esi + 2]
cmp al, 0xd0
je 0x4ae857
cmp al, 0xd1
jne 0x4ae863
mov al, byte [ecx + esi + 3]
cmp al, 0xca
jb 0x4ae885
cmp al, 0xff
ja 0x4ae885
mov eax, esi
inc ecx
lea ebx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4ae870
sub eax, ebx
add eax, 0xfffffffc
cmp ecx, eax
jbe 0x4ae834
jmp 0x4add01
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ae890
sub eax, edx
add eax, eax
add eax, eax
add eax, eax
push eax
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
test ebx, ebx
je 0x4ae905
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ae8c0
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ae8d0
push edx
push ebx
sub eax, edi
push eax
push esi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x18]
push ebx
add eax, 0x1c
push 0x59e304
push eax
call fcn.004060d0
add esp, 0xc
push ebx
jmp 0x4ae600
push 0x59d4a4
lea ecx, [edi + 0x1c]
call fcn.00405c70
jmp 0x4add13
lea ecx, [ebp - 0x14]
call fcn.0042c7a0
push 0xb
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x14]
call fcn.0041e300
mov byte [ebp - 4], 0x40
push str.yandsearch_
mov esi, pe_nt_image_headers32
push eax
mov dword [ebp - 0x1c], esi
call fcn.00424c30
add esp, 8
test al, al
jne 0x4ae97e
push 0xb
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0x14]
call fcn.0041e300
mov dword [ebp - 4], 0x41
push str.search.xml_
mov esi, 0x300
push eax
mov dword [ebp - 0x1c], esi
call fcn.00424c30
add esp, 8
test al, al
jne 0x4ae97e
xor bl, bl
jmp 0x4ae980
mov bl, 1
mov dword [ebp - 4], 0x40
test esi, 0x200
je 0x4ae9a0
and esi, 0xfffffdff
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x1c], esi
call fcn.00404d60
mov dword [ebp - 4], 7
test esi, 0x100
je 0x4ae9c0
and esi, 0xfffffeff
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x1c], esi
call fcn.00404d60
test bl, bl
je 0x4aeb39
mov esi, dword [ebp - 0x14]
cmp dword [esi - 0xc], 0
jge 0x4ae9d6
or eax, 0xffffffff
jmp 0x4ae9f1
push 0x59fef0
push esi
call fcn.00555f9b
add esp, 8
test eax, eax
jne 0x4ae9ed
or eax, 0xffffffff
jmp 0x4ae9f1
sub eax, esi
sar eax, 1
inc eax
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
push 0x5a4138
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x14]
call fcn.0041cc80
mov byte [ebp - 4], 0x42
lea edx, [ebp - 0x2c]
push 0x59c2bc
push edx
call fcn.00416b60
add esp, 8
test al, al
je 0x4aeb2d
mov bl, 0x43
lea esp, [esp]
lea eax, [ebp - 0x48]
push eax
push 0x5a4134
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x48], 0
call fcn.0041cc80
mov byte [ebp - 4], bl
lea edx, [ebp - 0x38]
push 0x59d4a4
push edx
call fcn.00442c30
add esp, 8
test al, al
je 0x4aeaad
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax - 0xc]
sub eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x4c]
push eax
push ecx
lea ecx, [ebp - 0x2c]
call fcn.004326e0
mov byte [ebp - 4], 0x44
mov ecx, eax
call fcn.0041ad00
mov ecx, eax
call fcn.004198e0
lea edx, [ebp - 0x38]
push edx
lea ecx, [edi + 0x2c]
mov esi, eax
call fcn.004ac520
push esi
mov ecx, eax
call fcn.00407d40
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4c]
call fcn.00404d60
lea eax, [ebp - 0x44]
push eax
push 0x5a4138
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x14]
call fcn.0041cc80
mov byte [ebp - 4], 0x45
push eax
lea ecx, [ebp - 0x2c]
call fcn.00407d40
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4aeaf1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x42
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4aeb14
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x2c]
push 0x59c2bc
push ecx
call fcn.00416b60
add esp, 8
test al, al
jne 0x4aea30
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c]
call fcn.00404d60
push 0x5a3fc4
lea ecx, [ebp - 0x48]
call fcn.0040bfb0
mov byte [ebp - 4], 0x48
lea edx, [ebp - 0x48]
push edx
lea eax, [ebp - 0x4c]
push eax
lea ecx, [edi + 0x2c]
call fcn.0050b2d0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x48]
call fcn.00404d60
mov esi, dword [ebp - 0x4c]
cmp esi, dword [edi + 0x30]
je 0x4add17
mov ebx, dword [ebp - 0x18]
lea edi, [esi + 0x10]
push edi
lea ecx, [ebx + 0x1c]
call fcn.00407d40
push 0x5a4130
lea ecx, [ebx + 0x1c]
call fcn.004ac1b0
cmp eax, 0xffffffff
je 0x4aec77
lea ecx, [esi + 0x10]
call fcn.00404db0
mov ebx, eax
test ebx, ebx
je 0x4aebd0
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x4aebb8
xor ebx, ebx
jmp 0x4aebd0
lea esi, [eax + eax]
mov eax, esi
call fcn.00558700
mov eax, esp
push 3
push esi
push ebx
push eax
call fcn.00472f50
mov ebx, eax
push ebx
call fcn.00505e00
mov eax, ebx
add esp, 4
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4aebe0
sub eax, edx
lea ecx, [eax*8]
push ecx
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
test esi, esi
je 0x4aec6b
mov eax, ebx
lea edx, [eax + 1]
jmp 0x4aec10
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4aec10
sub eax, edx
mov edx, eax
mov eax, ebx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4aec20
push edx
push esi
sub eax, edi
push eax
push ebx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x18]
push esi
add eax, 0x1c
push 0x59e304
push eax
call fcn.004060d0
add esp, 0xc
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edx, dword [ebp - 0x18]
mov byte [edx + 0x3c], 1
jmp 0x4add17
mov ecx, dword [ebp - 0x18]
push edi
add ecx, 0x1c
call fcn.00407d40
mov edx, dword [ebp - 0x18]
mov byte [edx + 0x3c], 1
jmp 0x4add17
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebx - 0xc]
mov eax, dword [ebx - 8]
mov ecx, 1
sub ecx, dword [ebx - 4]
sub eax, esi
or eax, ecx
jge 0x4aeca6
push esi
lea ecx, [ebp - 0x14]
call fcn.00403ca0
mov ebx, dword [ebp - 0x14]
lea eax, [esi + 1]
push eax
push ebx
call fcn.005573e9
add esp, 8
test esi, esi
js 0x4af5a5
cmp esi, dword [ebx - 8]
jg 0x4af5a5
xor ecx, ecx
mov dword [ebx - 0xc], esi
push 7
lea edx, [ebp - 0x24]
mov word [ebx + esi*2], cx
push edx
lea ecx, [ebp - 0x14]
call fcn.0041e300
mov byte [ebp - 4], 0x26
mov ebx, 1
mov dword [ebp - 0x1c], ebx
mov eax, dword [eax]
mov ecx, str.search_
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4aed16
test dx, dx
je 0x4aed12
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4aed16
add eax, 4
add ecx, 4
test dx, dx
jne 0x4aecf0
xor eax, eax
jmp 0x4aed1b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
mov edi, 0x2b
lea esi, [edi + 1]
test al, al
jne 0x4aee84
push 5
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x14]
call fcn.0041e300
mov dword [ebp - 4], 0x27
push str.news_
mov ebx, 3
push eax
mov dword [ebp - 0x1c], ebx
call fcn.00424c30
add esp, 8
test al, al
jne 0x4aee84
push 7
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x14]
call fcn.0041e300
mov dword [ebp - 4], 0x28
push 0x5a3fa8
mov ebx, 7
push eax
mov dword [ebp - 0x1c], ebx
call fcn.00424c30
add esp, 8
test al, al
jne 0x4aee84
push ebx
lea edx, [ebp - 0x38]
push edx
lea ecx, [ebp - 0x14]
call fcn.0041e300
mov dword [ebp - 4], 0x29
push str.pictures_
mov ebx, 0xf
push eax
mov dword [ebp - 0x1c], ebx
call fcn.00424c30
add esp, 8
test al, al
jne 0x4aee84
push 7
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x14]
call fcn.0041e300
mov dword [ebp - 4], 0x2a
push str.videos_
mov ebx, 0x1f
push eax
mov dword [ebp - 0x1c], ebx
call fcn.00424c30
add esp, 8
test al, al
jne 0x4aee84
push 6
lea ecx, [ebp - 0x44]
push ecx
lea ecx, [ebp - 0x14]
call fcn.0041e300
mov dword [ebp - 4], edi
push str.image_
mov ebx, 0x3f
push eax
mov dword [ebp - 0x1c], ebx
call fcn.00424c30
add esp, 8
test al, al
jne 0x4aee84
push 2
lea edx, [ebp - 0x48]
push edx
lea ecx, [ebp - 0x14]
call fcn.0041e300
mov dword [ebp - 4], esi
push 0x5a3f6c
mov ebx, 0x7f
push eax
mov dword [ebp - 0x1c], ebx
call fcn.00424c30
add esp, 8
test al, al
jne 0x4aee84
push 4
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x14]
call fcn.0041e300
mov dword [ebp - 4], 0x2d
push 0x5a3f60
mov ebx, 0xff
push eax
mov dword [ebp - 0x1c], ebx
call fcn.00424c30
add esp, 8
mov byte [ebp - 0xd], 0
test al, al
je 0x4aee88
mov byte [ebp - 0xd], 1
mov dword [ebp - 4], esi
test bl, bl
jns 0x4aeeba
and ebx, 0xffffff7f
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4aeeba
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], edi
test bl, 0x40
je 0x4aeeea
and ebx, 0xffffffbf
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], edi
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4aeeea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 0x2a
mov dword [ebp - 4], eax
test bl, 0x20
je 0x4aef1f
and ebx, 0xffffffdf
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4aef1f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 0x29
mov dword [ebp - 4], eax
test bl, 0x10
je 0x4aef54
and ebx, 0xffffffef
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4aef54
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 0x28
mov dword [ebp - 4], eax
test bl, 8
je 0x4aef89
and ebx, 0xfffffff7
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4aef89
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 0x27
mov dword [ebp - 4], eax
test bl, 4
je 0x4aefbe
and ebx, 0xfffffffb
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4aefbe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 0x26
mov dword [ebp - 4], eax
test bl, 2
je 0x4aeff3
and ebx, 0xfffffffd
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4aeff3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 7
test bl, 1
je 0x4af028
and ebx, 0xfffffffe
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4af028
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebp - 0xd], 0
je 0x4af286
mov ecx, dword [ebp - 0x14]
cmp dword [ecx - 0xc], 0
jge 0x4af040
or eax, 0xffffffff
jmp 0x4af05e
mov esi, dword [ebp - 0x14]
push 0x59fef0
push esi
call fcn.00555f9b
add esp, 8
test eax, eax
jne 0x4af05a
or eax, 0xffffffff
jmp 0x4af05e
sub eax, esi
sar eax, 1
inc eax
lea edx, [ebp - 0x44]
push edx
mov dword [ebp - 0x44], eax
push 0x5a4138
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x14]
call fcn.0041cc80
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x24]
mov ecx, 0x59c2bc
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4af0a9
test dx, dx
je 0x4af0a5
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4af0a9
add eax, 4
add ecx, 4
test dx, dx
jne 0x4af083
xor eax, eax
jmp 0x4af0ae
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
test al, al
je 0x4af263
lea ecx, [ebp - 0x48]
push ecx
push 0x5a4134
lea edx, [ebp - 0x38]
push edx
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x48], 0
call fcn.0041cc80
mov byte [ebp - 4], 0x37
lea eax, [ebp - 0x38]
push 0x59d4a4
push eax
call fcn.00442c30
add esp, 8
test al, al
je 0x4af1a7
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx - 0xc]
sub eax, dword [ebp - 0x48]
lea edx, [ebp - 0x40]
push eax
push edx
lea ecx, [ebp - 0x24]
call fcn.004326e0
mov byte [ebp - 4], 0x38
mov ecx, eax
call fcn.0041ad00
mov ecx, eax
call fcn.004198e0
mov ecx, dword [ebp - 0x18]
mov esi, eax
lea eax, [ebp - 0x38]
push eax
add ecx, 0x2c
call fcn.004ac520
mov ecx, dword [esi]
mov ebx, eax
mov esi, dword [ebx]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x4af184
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x4af178
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x4af178
push eax
call fcn.004021d0
mov dword [ebp - 0x4c], eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x4af16e
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 0x4c]
add ecx, 0x10
mov dword [ebx], ecx
jmp 0x4af184
mov eax, dword [ecx - 0xc]
push eax
push ecx
mov ecx, ebx
call fcn.00405e50
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4af1a7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x44]
push ecx
push 0x5a4138
lea edx, [ebp - 0x34]
push edx
lea ecx, [ebp - 0x14]
call fcn.0041cc80
mov byte [ebp - 4], 0x3a
mov ecx, dword [eax]
mov esi, dword [ebp - 0x24]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x4af214
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x4af207
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x4af207
push eax
call fcn.004021d0
mov edi, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x4af1ff
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add edi, 0x10
mov dword [ebp - 0x24], edi
jmp 0x4af214
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.00405e50
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4af237
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4af07b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4af07b
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4af286
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5a4104
lea ecx, [ebp - 0x38]
call fcn.0040bfb0
mov byte [ebp - 4], 0x3e
mov edi, dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [edi + 0x2c]
call fcn.0050ac00
mov esi, dword [edi + 0x30]
mov dword [ebp - 0x4c], eax
cmp eax, esi
je 0x4af309
mov ecx, dword [eax + 0xc]
xor eax, eax
test ecx, ecx
setne al
test eax, eax
jne 0x4af2c8
push 0x80004005
call fcn.00401150
mov eax, dword [ebp - 0x38]
jmp 0x4af2d0
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4af2f6
test dx, dx
je 0x4af2f2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4af2f6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4af2d0
xor eax, eax
jmp 0x4af2fb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sets al
test al, al
jne 0x4af309
lea eax, [ebp - 0x4c]
jmp 0x4af30f
mov dword [ebp - 0x48], esi
lea eax, [ebp - 0x48]
mov esi, dword [eax]
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4af334
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp esi, dword [edi + 0x30]
je 0x4add17
mov ebx, dword [ebp - 0x18]
lea edi, [esi + 0x10]
push edi
lea ecx, [ebx + 0x1c]
call fcn.00407d40
mov eax, dword [ebx + 0x1c]
push 0x5a4130
push eax
call fcn.0055a900
add esp, 8
test eax, eax
je 0x4af599
sub eax, dword [ebx + 0x1c]
sar eax, 1
cmp eax, 0xffffffff
je 0x4af599
mov eax, dword [esi + 0x10]
cmp dword [eax - 4], 1
jle 0x4af388
mov ecx, dword [eax - 0xc]
push ecx
lea ecx, [esi + 0x10]
call fcn.00403bd0
mov ebx, dword [esi + 0x10]
test ebx, ebx
jne 0x4af393
xor esi, esi
jmp 0x4af3be
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x4af3a6
xor esi, esi
jmp 0x4af3be
lea esi, [eax + eax]
mov eax, esi
call fcn.00558700
mov eax, esp
push 3
push esi
push ebx
push eax
call fcn.00472f50
mov esi, eax
push esi
call fcn.00505e00
mov eax, dword [ebp - 0x18]
add eax, 0x14
push str.mail.ru
push eax
call fcn.00424c30
add esp, 0xc
test al, al
mov eax, esi
lea edx, [eax + 1]
je 0x4af508
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4af3e5
sub eax, edx
cmp eax, 4
jb 0x4af440
xor ecx, ecx
mov al, byte [ecx + esi]
cmp al, 0xd0
je 0x4af400
cmp al, 0xd1
jne 0x4af424
mov al, byte [ecx + esi + 1]
cmp al, 0xca
jb 0x4af40c
cmp al, 0xff
jbe 0x4af424
mov al, byte [ecx + esi + 2]
cmp al, 0xd0
je 0x4af418
cmp al, 0xd1
jne 0x4af424
mov al, byte [ecx + esi + 3]
cmp al, 0xca
jb 0x4af461
cmp al, 0xff
ja 0x4af461
mov eax, esi
inc ecx
lea ebx, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4af430
sub eax, ebx
add eax, 0xfffffffc
cmp ecx, eax
jbe 0x4af3f5
mov eax, dword [ebp - 0x18]
push esi
add eax, 0x1c
push 0x59e648
push eax
call fcn.004060d0
mov ecx, dword [ebp - 0x18]
add esp, 0xc
mov byte [ecx + 0x3c], 1
jmp 0x4add17
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4af466
sub eax, edx
lea edx, [eax*8]
push edx
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
test ebx, ebx
je 0x4af4ec
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4af491
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4af4a1
push edx
push ebx
sub eax, edi
push eax
push esi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x18]
push ebx
add eax, 0x1c
push 0x59e304
push eax
call fcn.004060d0
add esp, 0xc
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x18]
mov byte [ecx + 0x3c], 1
jmp 0x4add17
mov ecx, dword [ebp - 0x18]
push 0x59d4a4
add ecx, 0x1c
call fcn.00405c70
mov ecx, dword [ebp - 0x18]
mov byte [ecx + 0x3c], 1
jmp 0x4add17
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4af508
sub eax, edx
add eax, eax
add eax, eax
add eax, eax
push eax
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
test ebx, ebx
je 0x4af58d
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4af532
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4af542
push edx
push ebx
sub eax, edi
push eax
push esi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x18]
push ebx
add eax, 0x1c
push 0x59e304
push eax
call fcn.004060d0
add esp, 0xc
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x18]
mov byte [ecx + 0x3c], 1
jmp 0x4add17
mov ecx, dword [ebp - 0x18]
push edi
add ecx, 0x1c
call fcn.00407d40
mov ecx, dword [ebp - 0x18]
mov byte [ecx + 0x3c], 1
jmp 0x4add17
push 0x80070057
call fcn.00401150
mov ecx, dword [ebp + 8]
push 0
push edi
push ecx
call fcn.0050a0a0
add esp, 0xc
mov byte [ebp - 4], 5
add esi, 0xfffffff0
lea edx, [esi + 0xc]
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x4af5de
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4af601
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4af624
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4af64a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
or eax, 0xffffffff
lea esp, [ebp - 0x58]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8