Function at 0x10015b6d
Capabilities:
Check http status code
Create http request
Log keystrokes via polling
Parse pe header

Disassembly:
mov eax, 0x1006aa9f
call fcn.10055640
mov eax, 0x2e40
call fcn.100570c0
or dword [ebp - 0x10], 0xffffffff
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
lea eax, [ebp - 0x10]
push eax
push 0x13
push edi
mov esi, ecx
call fcn.10009aa5
add esp, 0xc
test al, al
je 0x10015bd7
xor ebx, ebx
cmp dword [esi + 0x120], ebx
je 0x10018266
cmp byte [esi + 0xc0], bl
mov edi, dword [ebp - 0x10]
je 0x10015bc9
push edi
push 0x13
mov ecx, esi
mov dword [esi + 0x2f0], edi
call fcn.10014cb9
push dword [esi + 0xdc]
push edi
push ebx
push ebx
jmp 0x10016c6a
lea eax, [ebp - 0x10]
push eax
push 0x30
push edi
call fcn.10009aa5
add esp, 0xc
test al, al
je 0x10015bf8
push dword [esi + 0xdc]
push dword [ebp - 0x10]
jmp 0x10015ce4
lea eax, [ebp - 0x10]
push eax
push 0x31
push edi
call fcn.10009aa5
add esp, 0xc
test al, al
je 0x10015cbd
mov edi, dword [ebp - 0x10]
lea eax, [edi + 0x32]
push eax
push 0x31
mov ecx, esi
mov dword [esi + 0x318], edi
call fcn.10014cb9
mov al, byte [esi + 0xc0]
xor ebx, ebx
cmp al, bl
je 0x10015c44
lea eax, [edi + 0x32]
push eax
push 0x13
mov ecx, esi
mov dword [esi + 0x2f0], eax
call fcn.10014cb9
mov ecx, esi
call fcn.1000a3fe
push eax
lea ecx, [ebp - 0x938]
call fcn.10006f87
mov dword [ebp + 8], eax
imul edi, edi, 0x58
mov ecx, dword [esi + 0x30c]
add edi, ecx
cmp dword [edi + 0x50], 8
mov dword [ebp - 4], ebx
jb 0x10015c73
mov ebx, dword [edi + 0x3c]
jmp 0x10015c76
lea ebx, [edi + 0x3c]
cmp dword [edi + 0x34], 8
jb 0x10015c81
mov edi, dword [edi + 0x20]
jmp 0x10015c84
add edi, 0x20
push edi
mov ecx, eax
call fcn.10004249
mov ecx, dword [ebp + 8]
push ebx
call fcn.1000d767
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x938]
call fcn.10007091
jmp 0x10018266
lea eax, [ebp - 0x10]
push eax
push 0x14
push edi
call fcn.10009aa5
add esp, 0xc
test al, al
je 0x10015ceb
mov eax, dword [ebp - 0x10]
push dword [esi + 0xdc]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x1009085c]
push eax
xor ebx, ebx
jmp 0x10015bd0
lea eax, [ebp - 0x10]
push eax
push 0xa
push edi
call fcn.10009aa5
add esp, 0xc
test al, al
je 0x10015d8e
mov ecx, dword [esi + 0x120]
xor ebx, ebx
cmp ecx, ebx
je 0x10018266
lea eax, [ebp + 8]
push eax
call fcn.100050be
mov eax, dword [ebp - 0x10]
cmp eax, ebx
mov dword [ebp - 4], 1
jl 0x10015d63
lea edi, [eax + 1]
push ebx
push ecx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp + 0xc], esp
push eax
call fcn.100028c7
lea eax, [ebp + 0x10]
push eax
call fcn.10032579
add esp, 0xc
push eax
lea ecx, [ebp + 8]
call fcn.1000428a
mov ecx, dword [ebp + 0x10]
cmp ecx, ebx
je 0x10015d60
call fcn.100015ca
mov dword [ebp + 0x10], ebx
dec edi
jne 0x10015d2c
push ecx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp + 0x10], esp
push eax
call fcn.100028c7
mov ecx, esi
call fcn.100131f8
mov ecx, dword [ebp + 8]
cmp ecx, ebx
je 0x10018266
call fcn.100015ca
jmp 0x10018266
lea eax, [ebp - 0x10]
push eax
push 0x74
push edi
call fcn.10009aa5
add esp, 0xc
test al, al
je 0x10015dfd
xor ebx, ebx
cmp dword [esi + 0x120], ebx
je 0x10018266
mov ecx, dword [esi + 0xc8]
cmp ecx, ebx
je 0x10018266
push esi
push dword [esi + 0xdc]
push dword [ebp - 0x10]
call fcn.1003d7c5
push dword [ebp - 0x10]
test eax, eax
push dword [ebp - 0x10]
mov ecx, esi
setne bl
call fcn.1000c374
push eax
mov ecx, esi
call fcn.1000e9da
neg bl
sbb ebx, ebx
and ebx, 0x7fffbffb
add ebx, 0x80004005
mov eax, ebx
jmp 0x10018268
mov edx, dword [ebp + 0xc]
cmp edx, 0x400
push 2
pop ebx
je 0x10015e10
cmp edx, 5
jne 0x10015e20
cmp edi, ebx
jne 0x10015e20
mov ecx, esi
call fcn.10011640
jmp 0x10018266
cmp edx, 1
jne 0x10015e51
cmp edi, ebx
jne 0x10015e51
mov ecx, esi
call fcn.1000a3fe
xor ebx, ebx
cmp dword [esi + 0x18], ebx
je 0x10018266
push dword [esi + 0xdc]
mov ecx, esi
push 3
push ebx
push ebx
call fcn.10015b6d
jmp 0x10018266
mov ecx, dword [ebp + 0x14]
cmp ecx, dword [esi + 0xdc]
jne 0x10018266
lea eax, [edi - 3]
cmp eax, 0x90
ja case.0x10015e75.7
movzx eax, byte [eax + 0x10018369]
jmp dword [eax*4 + 0x10018279]
mov ecx, esi
call fcn.1000a3fe
push eax
lea ecx, [ebp + 8]
call fcn.10001722
lea eax, [ebp + 8]
push 0x10074bcc
push eax
mov dword [ebp - 4], ebx
call fcn.1000f316
test al, al
pop ecx
pop ecx
je 0x10015f03
push dword [ebp + 8]
lea ecx, [ebp - 0x938]
call fcn.10006f87
push str.froogle.google.com
lea ecx, [ebp - 0x938]
mov byte [ebp - 4], 3
call fcn.10004249
push str.froogle_
lea ecx, [ebp - 0x938]
call fcn.1000d767
sub esp, 0x1c4
lea eax, [ebp - 0x938]
mov ecx, esp
mov dword [ebp + 0x10], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x938]
call fcn.10007091
jmp 0x100171b9
mov ecx, dword [ebp + 8]
or dword [ebp - 4], 0xffffffff
add ecx, 0xfffffff0
call fcn.10001337
push str.froogle.google.com
lea ecx, [ebp - 0xd0]
call fcn.10001722
push eax
lea eax, [ebp + 8]
push str.http:__
push eax
mov dword [ebp - 4], 4
call fcn.1000cdfc
add esp, 0xc
mov ecx, dword [ebp - 0xd0]
add ecx, 0xfffffff0
mov byte [ebp - 4], 6
call fcn.10001337
mov edi, dword [ebp + 8]
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push edi
call fcn.100014a0
mov ecx, esi
call fcn.100131f8
lea ecx, [edi - 0x10]
jmp 0x100171bf
mov ecx, esi
call fcn.100149d6
jmp 0x10018266
lea eax, [ebp - 0x6e8]
push eax
mov ecx, esi
call fcn.10010411
mov edi, eax
mov ecx, esi
mov dword [ebp - 4], 7
call fcn.1000a3fe
push eax
lea ecx, [ebp - 0xcc0]
call fcn.10006f87
push edi
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.10009306
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0xcc0]
call fcn.10007091
or dword [ebp - 4], 0xffffffff
push 1
lea ecx, [ebp - 0x6e8]
call fcn.1000289a
mov ecx, esi
call fcn.1000a3fe
push eax
push esi
call fcn.100133ca
pop ecx
pop ecx
jmp 0x10018266
push str.outputxml_no_dtd
lea ecx, [ebp - 0x1a8]
call fcn.10005748
mov edi, eax
lea eax, [ebp - 0x2c0]
push eax
mov ecx, esi
mov dword [ebp - 4], 9
call fcn.1000d7ce
mov ebx, eax
push str.proxystylesheet
lea ecx, [ebp - 0x640]
mov byte [ebp - 4], 0xa
call fcn.10005748
push ebx
push eax
lea eax, [ebp - 0x288]
push eax
mov byte [ebp - 4], 0xb
call fcn.1000e51f
add esp, 0xc
mov dword [ebp + 0x10], eax
lea eax, [ebp - 0x720]
push eax
mov ecx, esi
mov byte [ebp - 4], 0xc
call fcn.1000d7ce
mov ebx, eax
push 0x10076ab0
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0xd
call fcn.10005748
push ebx
push eax
lea eax, [ebp - 0x608]
push eax
mov byte [ebp - 4], 0xe
call fcn.1000e51f
add esp, 0xc
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x218]
push eax
mov ecx, esi
mov byte [ebp - 4], 0xf
call fcn.1000d7ce
mov ebx, eax
push str.site
lea ecx, [ebp - 0x6b0]
mov byte [ebp - 4], 0x10
call fcn.10005748
push ebx
push eax
lea eax, [ebp - 0x1e0]
push eax
mov byte [ebp - 4], 0x11
call fcn.1000e51f
add esp, 0xc
mov ebx, eax
lea eax, [ebp - 0x50c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x12
call fcn.1000d7b3
mov dword [ebp - 0x14], eax
mov ecx, esi
mov byte [ebp - 4], 0x13
call fcn.1000a3fe
push eax
lea ecx, [ebp - 0x1e68]
call fcn.10006f87
mov dword [ebp - 0x1c], eax
push 8
pop eax
cmp dword [edi + 0x18], eax
mov byte [ebp - 4], 0x14
jb 0x1001610d
mov ecx, dword [edi + 4]
mov dword [ebp + 8], ecx
jmp 0x10016113
add edi, 4
mov dword [ebp + 8], edi
mov edx, dword [ebp + 0x10]
cmp dword [edx + 0x18], eax
jb 0x10016120
mov edi, dword [edx + 4]
jmp 0x10016123
lea edi, [edx + 4]
mov edx, dword [ebp - 0x18]
cmp dword [edx + 0x18], eax
jb 0x10016130
mov ecx, dword [edx + 4]
jmp 0x10016133
lea ecx, [edx + 4]
cmp dword [ebx + 0x18], eax
jb 0x1001613d
mov edx, dword [ebx + 4]
jmp 0x10016140
lea edx, [ebx + 4]
push dword [ebp + 8]
push edi
push ecx
mov ecx, dword [ebp - 0x1c]
push edx
push dword [ebp - 0x14]
call fcn.10009306
mov ecx, eax
call fcn.100059af
mov ecx, eax
call fcn.100059af
mov ecx, eax
call fcn.100059af
mov ecx, eax
call fcn.100059af
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x1e68]
call fcn.10007091
xor esi, esi
inc esi
push esi
lea ecx, [ebp - 0x50c]
call fcn.1000289a
push esi
lea ecx, [ebp - 0x1e0]
call fcn.1000289a
push esi
lea ecx, [ebp - 0x6b0]
call fcn.1000289a
push esi
lea ecx, [ebp - 0x218]
call fcn.1000289a
push esi
lea ecx, [ebp - 0x608]
call fcn.1000289a
push esi
lea ecx, [ebp - 0x250]
call fcn.1000289a
push esi
lea ecx, [ebp - 0x720]
call fcn.1000289a
push esi
lea ecx, [ebp - 0x288]
call fcn.1000289a
push esi
lea ecx, [ebp - 0x640]
call fcn.1000289a
push esi
lea ecx, [ebp - 0x2c0]
call fcn.1000289a
push esi
lea ecx, [ebp - 0x1a8]
jmp 0x10018261
lea eax, [ebp - 0x2f8]
push eax
mov ecx, esi
call fcn.10010411
mov edi, eax
mov ecx, esi
mov dword [ebp - 4], 0x15
call fcn.1000a3fe
push eax
lea ecx, [ebp - 0x1048]
call fcn.10006f87
push edi
mov ecx, eax
mov byte [ebp - 4], 0x16
call fcn.10009306
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
mov byte [eax + 0xd8], 1
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x1048]
call fcn.10007091
lea ecx, [ebp - 0x2f8]
jmp 0x1001825f
lea eax, [ebp - 0x544]
push eax
mov ecx, esi
call fcn.10010411
mov edi, eax
mov ecx, esi
mov dword [ebp - 4], 0x17
call fcn.1000a3fe
push eax
lea ecx, [ebp - 0x2c88]
call fcn.10006f87
push str.stocks:
push edi
mov ecx, eax
mov byte [ebp - 4], 0x18
call fcn.10009306
mov ecx, eax
call fcn.1000d786
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x2c88]
call fcn.10007091
lea ecx, [ebp - 0x544]
jmp 0x1001825f
mov ecx, esi
call fcn.1000a3fe
mov edi, eax
cmp word [edi], 0
je 0x10018266
lea eax, [ebp - 0x330]
push eax
mov ecx, esi
call fcn.10010411
mov ebx, eax
push edi
lea ecx, [ebp - 0x13d0]
mov dword [ebp - 4], 0x19
call fcn.10006f87
push str.spell:
push ebx
mov ecx, eax
mov byte [ebp - 4], 0x1a
call fcn.10009306
mov ecx, eax
call fcn.1000d786
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x13d0]
call fcn.10007091
lea ecx, [ebp - 0x330]
jmp 0x1001825f
push str.http:__www.google.com_url_sourceidnavclientsaXoidictqhttp:__www.dictionary.com_cgi_bin_dict.pl_3Fr_3D67_26term_3D
lea ecx, [ebp + 8]
call fcn.100014a0
mov ecx, esi
mov dword [ebp - 4], 0x1b
call fcn.1000a3fe
push eax
lea ecx, [ebp + 0x10]
call fcn.100014a0
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x1c
call fcn.10004366
mov ecx, dword [ebp + 0x10]
xor ebx, ebx
cmp ecx, ebx
mov byte [ebp - 4], 0x1b
je 0x10015d63
call fcn.100015ca
jmp 0x10015d63
push str.http:__www_cgi_bin_people.cgi_person
lea ecx, [ebp - 0x368]
call fcn.10005748
mov edi, eax
mov ecx, esi
mov dword [ebp - 4], 0x1d
call fcn.1000a3fe
push eax
lea eax, [ebp - 0x57c]
push edi
push eax
call fcn.1000e4d3
add esp, 0xc
cmp dword [eax + 0x18], 8
mov byte [ebp - 4], 0x1e
jb 0x100163fd
mov eax, dword [eax + 4]
jmp 0x10016400
add eax, 4
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.100014a0
mov ecx, esi
call fcn.100131f8
push 1
lea ecx, [ebp - 0x57c]
call fcn.1000289a
lea ecx, [ebp - 0x368]
jmp 0x1001825f
mov ecx, dword [esi + 0x120]
lea eax, [ebp - 0xd8]
push eax
call fcn.100077e5
mov ebx, eax
lea eax, [ebp - 0x5b4]
push eax
mov ecx, esi
mov dword [ebp - 4], 0x1f
call fcn.10010411
mov edi, eax
mov ecx, esi
mov byte [ebp - 4], 0x20
call fcn.1000a3fe
push eax
lea ecx, [ebp - 0x21f0]
call fcn.10006f87
mov edx, dword [ebx]
xor ebx, ebx
cmp edx, ebx
mov byte [ebp - 4], 0x21
je 0x1001647d
mov edx, dword [edx]
jmp 0x1001647f
xor edx, edx
push edx
push edi
mov ecx, eax
call fcn.10009306
mov ecx, eax
call fcn.1000d79e
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x21f0]
call fcn.10007091
push 1
lea ecx, [ebp - 0x5b4]
call fcn.1000289a
mov ecx, dword [ebp - 0xd8]
jmp 0x10015d7c
mov ecx, esi
call fcn.1000a3fe
xor ebx, ebx
cmp word [eax], bx
je 0x10016560
lea eax, [ebp - 0x3a0]
push eax
mov ecx, esi
call fcn.10010411
mov edi, eax
mov ecx, esi
mov dword [ebp - 4], 0x22
call fcn.1000a3fe
push eax
lea ecx, [ebp - 0x1758]
call fcn.10006f87
mov edx, dword [0x10094944]
cmp edx, ebx
mov byte [ebp - 4], 0x23
je 0x10016516
mov ebx, dword [edx]
push ebx
push str.groups_
push edi
mov ecx, eax
call fcn.10009306
mov ecx, eax
call fcn.1000d767
mov ecx, eax
call fcn.1000d74f
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x1758]
call fcn.10007091
lea ecx, [ebp - 0x3a0]
jmp 0x1001825f
lea eax, [ebp - 0x98]
push esi
push eax
call fcn.1000df29
pop ecx
pop ecx
mov edi, eax
lea eax, [ebp - 0x5ec]
push eax
mov ecx, esi
mov dword [ebp - 4], 0x24
call fcn.10010411
cmp dword [eax + 0x18], 8
mov byte [ebp - 4], 0x25
jb 0x10016595
mov eax, dword [eax + 4]
jmp 0x10016598
add eax, 4
push 0x10094954
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.1000d0ae
add esp, 8
mov ecx, esp
mov dword [ebp + 8], esp
push edi
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x26
call fcn.100043c6
mov ecx, esi
call fcn.100131f8
mov ecx, dword [ebp + 0xc]
cmp ecx, ebx
je 0x100165d2
call fcn.100015ca
mov dword [ebp + 0xc], ebx
push 1
lea ecx, [ebp - 0x5ec]
call fcn.1000289a
mov ecx, dword [ebp - 0x98]
jmp 0x10015d7c
lea eax, [ebp - 0xa4]
push esi
push eax
call fcn.1000df29
pop ecx
pop ecx
mov edi, eax
lea eax, [ebp - 0x3d8]
push eax
mov ecx, esi
mov dword [ebp - 4], 0x27
call fcn.10010411
cmp dword [eax + 0x18], 8
mov byte [ebp - 4], 0x28
jb 0x1001661f
mov eax, dword [eax + 4]
jmp 0x10016622
add eax, 4
push 0x10094954
push eax
lea eax, [ebp + 0x14]
push eax
call fcn.1000d0ae
add esp, 8
mov ecx, esp
mov dword [ebp + 8], esp
push edi
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x29
call fcn.100043c6
mov ecx, esi
call fcn.100131f8
mov ecx, dword [ebp + 0x14]
xor ebx, ebx
cmp ecx, ebx
je 0x1001665e
call fcn.100015ca
mov dword [ebp + 0x14], ebx
push 1
lea ecx, [ebp - 0x3d8]
call fcn.1000289a
mov ecx, dword [ebp - 0xa4]
jmp 0x10015d7c
lea eax, [ebp - 0xe0]
push esi
push eax
call fcn.1000df29
add esp, 4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
push ecx
mov ecx, 0x10094940
mov dword [ebp - 4], 0x2a
call fcn.100043c6
mov ecx, esi
call fcn.100131f8
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
jmp 0x10015d7e
mov ecx, esi
call fcn.1000a3fe
xor ebx, ebx
cmp word [eax], bx
je 0x10016748
lea eax, [ebp - 0x624]
push eax
mov ecx, esi
call fcn.10010411
mov edi, eax
mov ecx, esi
mov dword [ebp - 4], 0x2b
call fcn.1000a3fe
push eax
lea ecx, [ebp - 0x2900]
call fcn.10006f87
mov edx, dword [0x10094948]
cmp edx, ebx
mov byte [ebp - 4], 0x2c
je 0x100166fe
mov ebx, dword [edx]
push ebx
push str.images_
push edi
mov ecx, eax
call fcn.10009306
mov ecx, eax
call fcn.1000d767
mov ecx, eax
call fcn.1000d74f
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x2900]
call fcn.10007091
lea ecx, [ebp - 0x624]
jmp 0x1001825f
lea eax, [ebp - 0xac]
push esi
push eax
call fcn.1000df29
pop ecx
pop ecx
mov edi, eax
lea eax, [ebp - 0x410]
push eax
mov ecx, esi
mov dword [ebp - 4], 0x2d
call fcn.10010411
cmp dword [eax + 0x18], 8
mov byte [ebp - 4], 0x2e
jb 0x1001677d
mov eax, dword [eax + 4]
jmp 0x10016780
add eax, 4
push 0x10094958
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.1000d0ae
add esp, 8
mov ecx, esp
mov dword [ebp + 8], esp
push edi
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x2f
call fcn.100043c6
mov ecx, esi
call fcn.100131f8
mov ecx, dword [ebp - 0x10]
cmp ecx, ebx
je 0x100167ba
call fcn.100015ca
mov dword [ebp - 0x10], ebx
push 1
lea ecx, [ebp - 0x410]
call fcn.1000289a
mov ecx, dword [ebp - 0xac]
jmp 0x10015d7c
lea eax, [ebp - 0xc8]
push esi
push eax
call fcn.1000df29
pop ecx
pop ecx
mov edi, eax
lea eax, [ebp - 0x65c]
push eax
mov ecx, esi
mov dword [ebp - 4], 0x30
call fcn.10010411
cmp dword [eax + 0x18], 8
mov byte [ebp - 4], 0x31
jb 0x10016807
mov eax, dword [eax + 4]
jmp 0x1001680a
add eax, 4
push 0x10094958
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.1000d0ae
add esp, 8
mov ecx, esp
mov dword [ebp + 8], esp
push edi
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x32
call fcn.100043c6
mov ecx, esi
call fcn.100131f8
mov ecx, dword [ebp - 0x80]
xor ebx, ebx
cmp ecx, ebx
je 0x10016846
call fcn.100015ca
mov dword [ebp - 0x80], ebx
push 1
lea ecx, [ebp - 0x65c]
call fcn.1000289a
mov ecx, dword [ebp - 0xc8]
jmp 0x10015d7c
mov ecx, esi
call fcn.1000a3fe
xor ebx, ebx
cmp word [eax], bx
je case.0x10015e75.134
lea eax, [ebp - 0x448]
push eax
mov ecx, esi
call fcn.10010411
mov edi, eax
mov ecx, esi
mov dword [ebp - 4], 0x33
call fcn.1000a3fe
push eax
lea ecx, [ebp - 0x1ae0]
call fcn.10006f87
mov edx, dword [0x1009494c]
cmp edx, ebx
mov byte [ebp - 4], 0x34
je 0x100168aa
mov ebx, dword [edx]
push ebx
push str.news_
push edi
mov ecx, eax
call fcn.10009306
mov ecx, eax
call fcn.1000d767
mov ecx, eax
call fcn.1000d74f
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x1ae0]
call fcn.10007091
lea ecx, [ebp - 0x448]
jmp 0x1001825f
lea eax, [ebp - 0x694]
push eax
mov ecx, esi
call fcn.10010411
cmp dword [eax + 0x18], 8
mov dword [ebp - 4], 0x35
jb 0x10016914
mov eax, dword [eax + 4]
jmp 0x10016917
add eax, 4
push eax
lea ecx, [ebp + 8]
call fcn.10001722
push 1
lea ecx, [ebp - 0x694]
mov byte [ebp - 4], 0x37
call fcn.1000289a
push str.news.
push str.www.
lea ecx, [ebp + 8]
call fcn.10003b0d
jmp 0x100171a4
lea eax, [ebp - 0x480]
push eax
mov ecx, esi
call fcn.10010411
mov edi, eax
mov ecx, esi
mov dword [ebp - 4], 0x38
call fcn.1000a3fe
push eax
lea ecx, [ebp - 0x2578]
call fcn.10006f87
push edi
mov ecx, eax
mov byte [ebp - 4], 0x39
call fcn.10009306
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
mov byte [eax + 0xd9], 1
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x2578]
call fcn.10007091
lea ecx, [ebp - 0x480]
jmp 0x1001825f
mov ecx, esi
call fcn.1000a3fe
push eax
lea ecx, [ebp - 0xafc]
call fcn.10006f87
mov ebx, eax
mov eax, dword [esi + 0x318]
mov ecx, dword [esi + 0x30c]
imul eax, eax, 0x58
add eax, ecx
cmp dword [eax + 0x50], 8
mov dword [ebp - 4], 0x3a
jb 0x100169eb
mov edi, dword [eax + 0x3c]
jmp 0x100169ee
lea edi, [eax + 0x3c]
cmp dword [eax + 0x34], 8
jb 0x100169f9
mov eax, dword [eax + 0x20]
jmp 0x100169fc
add eax, 0x20
push eax
mov ecx, ebx
call fcn.10004249
push edi
mov ecx, ebx
call fcn.1000d767
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0xafc]
jmp 0x10015cb3
lea eax, [ebp - 0x6cc]
push eax
mov ecx, esi
call fcn.10010411
mov edi, eax
mov ecx, esi
mov dword [ebp - 4], 0x3b
call fcn.1000a3fe
push eax
lea ecx, [ebp - 0xe84]
call fcn.10006f87
push str.mac_
push edi
mov ecx, eax
mov byte [ebp - 4], 0x3c
call fcn.10009306
mov ecx, eax
call fcn.1000d767
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0xe84]
call fcn.10007091
lea ecx, [ebp - 0x6cc]
jmp 0x1001825f
lea eax, [ebp - 0x4b8]
push eax
mov ecx, esi
call fcn.10010411
mov edi, eax
mov ecx, esi
mov dword [ebp - 4], 0x3d
call fcn.1000a3fe
push eax
lea ecx, [ebp - 0x120c]
call fcn.10006f87
push str.bsd_
push edi
mov ecx, eax
mov byte [ebp - 4], 0x3e
call fcn.10009306
mov ecx, eax
call fcn.1000d767
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x120c]
call fcn.10007091
lea ecx, [ebp - 0x4b8]
jmp 0x1001825f
lea eax, [ebp - 0x704]
push eax
mov ecx, esi
call fcn.10010411
mov edi, eax
mov ecx, esi
mov dword [ebp - 4], 0x3f
call fcn.1000a3fe
push eax
lea ecx, [ebp - 0x1594]
call fcn.10006f87
push str.linux_
push edi
mov ecx, eax
mov byte [ebp - 4], 0x40
call fcn.10009306
mov ecx, eax
call fcn.1000d767
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x1594]
call fcn.10007091
lea ecx, [ebp - 0x704]
jmp 0x1001825f
lea eax, [ebp - 0x4f0]
push eax
mov ecx, esi
call fcn.10010411
mov edi, eax
mov ecx, esi
mov dword [ebp - 4], 0x41
call fcn.1000a3fe
push eax
lea ecx, [ebp - 0x191c]
call fcn.10006f87
push str.microsoft_
push edi
mov ecx, eax
mov byte [ebp - 4], 0x42
call fcn.10009306
mov ecx, eax
call fcn.1000d767
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x191c]
call fcn.10007091
lea ecx, [ebp - 0x4f0]
jmp 0x1001825f
lea eax, [ebp - 0x73c]
push eax
mov ecx, esi
call fcn.10010411
mov edi, eax
mov ecx, esi
mov dword [ebp - 4], 0x43
call fcn.1000a3fe
push eax
lea ecx, [ebp - 0x1ca4]
call fcn.10006f87
push str.unclesam_
push edi
mov ecx, eax
mov byte [ebp - 4], 0x44
call fcn.10009306
mov ecx, eax
call fcn.1000d767
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x1ca4]
call fcn.10007091
lea ecx, [ebp - 0x73c]
jmp 0x1001825f
push ecx
push dword [esi + 0x2f0]
push edx
push dword [ebp + 8]
mov ecx, esi
call fcn.10015b6d
jmp 0x10018268
xor ebx, ebx
push ebx
lea ecx, [ebp - 0x938]
call fcn.10006f87
lea eax, [ebp - 0x528]
push eax
mov ecx, esi
mov dword [ebp - 4], 0x45
call fcn.10010411
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x938]
mov byte [ebp - 4], 0x46
call fcn.10004148
push 1
lea ecx, [ebp - 0x528]
mov byte [ebp - 4], 0x45
call fcn.1000289a
push str.webhp_
lea ecx, [ebp - 0x938]
call fcn.1000d767
lea eax, [ebp + 8]
push 0x2713
push eax
call fcn.1001c8f5
lea eax, [ebp + 8]
push 0x10074bcc
push eax
mov byte [ebp - 4], 0x47
call fcn.1000f316
add esp, 0x10
test al, al
je 0x10016d42
push 0x10075adc
push dword [ebp + 8]
call fcn.10055eac
test eax, eax
pop ecx
pop ecx
je 0x10016d42
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0xb4]
push 0x100763b4
push eax
call fcn.1000cdfc
add esp, 0xc
push dword [eax]
lea ecx, [ebp - 0x938]
mov byte [ebp - 4], 0x48
call fcn.10005987
mov ecx, dword [ebp - 0xb4]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x47
call fcn.10001337
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push eax
lea ecx, [ebp - 0x938]
call fcn.1001b89d
mov ecx, esi
call fcn.100131f8
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.10001337
lea ecx, [ebp - 0x938]
jmp 0x10015cb3
push str.http:__toolbar.google.com_dc_aboutdc.html
lea ecx, [ebp + 8]
call fcn.100014a0
mov dword [ebp - 4], 0x49
jmp 0x100175c9
push str._advanced_search
lea ecx, [ebp - 0x14]
call fcn.100014a0
lea eax, [ebp - 0x774]
push eax
mov ecx, esi
mov dword [ebp - 4], 0x4a
call fcn.10010411
cmp dword [eax + 0x18], 8
mov byte [ebp - 4], 0x4b
jb 0x10016dbb
mov eax, dword [eax + 4]
jmp 0x10016dbe
add eax, 4
push eax
lea ecx, [ebp + 8]
call fcn.100014a0
lea eax, [ebp - 0x94]
push esi
push eax
mov byte [ebp - 4], 0x4c
call fcn.1000df29
pop ecx
pop ecx
mov edi, eax
push str.http:__
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x4d
call fcn.100014a0
lea ecx, [ebp + 8]
push ecx
lea ecx, [ebp - 0x68]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x4e
call fcn.100043c6
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x4f
call fcn.100043c6
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push edi
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x50
call fcn.100043c6
mov ecx, esi
call fcn.100131f8
mov ecx, dword [ebp - 0x3c]
xor ebx, ebx
cmp ecx, ebx
je 0x10016e41
call fcn.100015ca
mov dword [ebp - 0x3c], ebx
mov ecx, dword [ebp - 0x68]
cmp ecx, ebx
je 0x10016e50
call fcn.100015ca
mov dword [ebp - 0x68], ebx
mov ecx, dword [ebp - 0x8c]
cmp ecx, ebx
je 0x10016e65
call fcn.100015ca
mov dword [ebp - 0x8c], ebx
mov ecx, dword [ebp - 0x94]
cmp ecx, ebx
je 0x10016e7a
call fcn.100015ca
mov dword [ebp - 0x94], ebx
mov ecx, dword [ebp + 8]
cmp ecx, ebx
je 0x10016e86
call fcn.100015ca
lea ecx, [ebp - 0x774]
push 1
call fcn.1000289a
mov ecx, dword [ebp - 0x14]
jmp 0x10015d7c
push str._language_tools
lea ecx, [ebp - 0x14]
call fcn.100014a0
lea eax, [ebp - 0x560]
push eax
mov ecx, esi
mov dword [ebp - 4], 0x51
call fcn.10010411
cmp dword [eax + 0x18], 8
mov byte [ebp - 4], 0x52
jb 0x10016ecc
mov eax, dword [eax + 4]
jmp 0x10016ecf
add eax, 4
push eax
lea ecx, [ebp + 8]
call fcn.100014a0
lea eax, [ebp - 0x90]
push esi
push eax
mov byte [ebp - 4], 0x53
call fcn.1000df29
pop ecx
pop ecx
mov edi, eax
push str.http:__
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x54
call fcn.100014a0
lea ecx, [ebp + 8]
push ecx
lea ecx, [ebp - 0x70]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x55
call fcn.100043c6
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x48]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x56
call fcn.100043c6
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push edi
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x57
call fcn.100043c6
mov ecx, esi
call fcn.100131f8
mov ecx, dword [ebp - 0x48]
xor ebx, ebx
cmp ecx, ebx
je 0x10016f4f
call fcn.100015ca
mov dword [ebp - 0x48], ebx
mov ecx, dword [ebp - 0x70]
cmp ecx, ebx
je 0x10016f5e
call fcn.100015ca
mov dword [ebp - 0x70], ebx
mov ecx, dword [ebp - 0x50]
cmp ecx, ebx
je 0x10016f6d
call fcn.100015ca
mov dword [ebp - 0x50], ebx
mov ecx, dword [ebp - 0x90]
cmp ecx, ebx
je 0x10016f82
call fcn.100015ca
mov dword [ebp - 0x90], ebx
mov ecx, dword [ebp + 8]
cmp ecx, ebx
je 0x10016f8e
call fcn.100015ca
lea ecx, [ebp - 0x560]
jmp 0x10016e8c
lea eax, [ebp - 0xcc]
push esi
push eax
call fcn.1000df29
pop ecx
pop ecx
mov edi, eax
lea eax, [ebp - 0x678]
push eax
mov ecx, esi
mov dword [ebp - 4], 0x58
call fcn.10010411
cmp dword [eax + 0x18], 8
mov byte [ebp - 4], 0x59
jb 0x10016fce
mov eax, dword [eax + 4]
jmp 0x10016fd1
add eax, 4
push 0x1009495c
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.1000d0ae
add esp, 8
mov ecx, esp
mov dword [ebp + 8], esp
push edi
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x5a
call fcn.100043c6
mov ecx, esi
call fcn.100131f8
mov ecx, dword [ebp - 0x58]
xor ebx, ebx
cmp ecx, ebx
je 0x1001700d
call fcn.100015ca
mov dword [ebp - 0x58], ebx
push 1
lea ecx, [ebp - 0x678]
call fcn.1000289a
mov ecx, dword [ebp - 0xcc]
jmp 0x10015d7c
mov ecx, esi
call fcn.1000a3fe
xor ebx, ebx
cmp word [eax], bx
je 0x100170a3
lea eax, [ebp - 0x598]
push eax
mov ecx, esi
call fcn.10010411
mov edi, eax
mov ecx, esi
mov dword [ebp - 4], 0x5b
call fcn.1000a3fe
push eax
lea ecx, [ebp - 0x202c]
call fcn.10006f87
push str.search_catgwd_2FTop
push edi
mov ecx, eax
mov byte [ebp - 4], 0x5c
call fcn.10009306
mov ecx, eax
call fcn.1000d767
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x202c]
call fcn.10007091
lea ecx, [ebp - 0x598]
jmp 0x1001825f
lea eax, [ebp - 0xbc]
push esi
push eax
call fcn.1000df29
pop ecx
pop ecx
mov edi, eax
lea eax, [ebp - 0x758]
push eax
mov ecx, esi
mov dword [ebp - 4], 0x5d
call fcn.10010411
cmp dword [eax + 0x18], 8
mov byte [ebp - 4], 0x5e
jb 0x100170d8
mov eax, dword [eax + 4]
jmp 0x100170db
add eax, 4
push 0x1009495c
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.1000d0ae
add esp, 8
mov ecx, esp
mov dword [ebp + 8], esp
push edi
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x5f
call fcn.100043c6
mov ecx, esi
call fcn.100131f8
mov ecx, dword [ebp - 0x78]
cmp ecx, ebx
je 0x10017115
call fcn.100015ca
mov dword [ebp - 0x78], ebx
push 1
lea ecx, [ebp - 0x758]
call fcn.1000289a
mov ecx, dword [ebp - 0xbc]
jmp 0x10015d7c
lea eax, [ebp - 0x5d0]
push eax
mov ecx, esi
call fcn.10010411
cmp dword [eax + 0x18], 8
mov dword [ebp - 4], 0x60
jb 0x1001714d
mov eax, dword [eax + 4]
jmp 0x10017150
add eax, 4
push eax
lea ecx, [ebp + 8]
call fcn.10001722
push 1
lea ecx, [ebp - 0x5d0]
mov byte [ebp - 4], 0x62
call fcn.1000289a
push str.directory.
push str.www.
lea ecx, [ebp + 8]
call fcn.10003b0d
push 0x1007454c
lea ecx, [ebp + 8]
call fcn.1000cf85
mov eax, dword [esi + 0x320]
xor ebx, ebx
cmp eax, ebx
je 0x10017199
mov eax, dword [eax]
jmp 0x1001719b
xor eax, eax
push eax
lea ecx, [ebp + 8]
call fcn.1000cf85
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push dword [ebp + 8]
call fcn.100014a0
mov ecx, esi
call fcn.100131f8
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.10001337
jmp 0x10018266
mov ecx, dword [esi + 0x120]
xor ebx, ebx
push ebx
lea eax, [ebp - 0xd4]
push eax
call fcn.10007486
mov edi, eax
lea eax, [ebp - 0x1c4]
push eax
mov ecx, esi
mov dword [ebp - 4], 0x63
call fcn.10010411
mov dword [ebp + 8], eax
push ebx
lea ecx, [ebp - 0x23b4]
mov byte [ebp - 4], 0x64
call fcn.10006f87
mov edx, dword [edi]
cmp edx, ebx
mov byte [ebp - 4], 0x65
je 0x10017216
mov edx, dword [edx]
jmp 0x10017218
xor edx, edx
push edx
push dword [ebp + 8]
mov ecx, eax
call fcn.10009306
mov ecx, eax
call fcn.1000928e
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x23b4]
call fcn.10007091
push 1
lea ecx, [ebp - 0x1c4]
call fcn.1000289a
mov ecx, dword [ebp - 0xd4]
jmp 0x10015d7c
mov ecx, dword [esi + 0x120]
xor ebx, ebx
push ebx
lea eax, [ebp - 0xc4]
push eax
call fcn.10007486
mov edi, eax
lea eax, [ebp - 0x1fc]
push eax
mov ecx, esi
mov dword [ebp - 4], 0x66
call fcn.10010411
mov dword [ebp + 8], eax
push ebx
lea ecx, [ebp - 0x273c]
mov byte [ebp - 4], 0x67
call fcn.10006f87
mov edx, dword [edi]
cmp edx, ebx
mov byte [ebp - 4], 0x68
je 0x100172b2
mov edx, dword [edx]
jmp 0x100172b4
xor edx, edx
push edx
push dword [ebp + 8]
mov ecx, eax
call fcn.10009306
mov ecx, eax
call fcn.1000923e
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x273c]
call fcn.10007091
push 1
lea ecx, [ebp - 0x1fc]
call fcn.1000289a
mov ecx, dword [ebp - 0xc4]
jmp 0x10015d7c
mov ecx, dword [esi + 0x120]
xor ebx, ebx
push ebx
lea eax, [ebp - 0xdc]
push eax
call fcn.10007486
mov edi, eax
lea eax, [ebp - 0x234]
push eax
mov ecx, esi
mov dword [ebp - 4], 0x69
call fcn.10010411
mov dword [ebp + 8], eax
push ebx
lea ecx, [ebp - 0x2ac4]
mov byte [ebp - 4], 0x6a
call fcn.10006f87
mov edx, dword [edi]
cmp edx, ebx
mov byte [ebp - 4], 0x6b
je 0x1001734e
mov edx, dword [edx]
jmp 0x10017350
xor edx, edx
push edx
push dword [ebp + 8]
mov ecx, eax
call fcn.10009306
mov ecx, eax
call fcn.10009266
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x2ac4]
call fcn.10007091
push 1
lea ecx, [ebp - 0x234]
call fcn.1000289a
mov ecx, dword [ebp - 0xdc]
jmp 0x10015d7c
push str.http:__translate.google.com_translate_sourceidnavclienthl
lea ecx, [ebp - 0x38]
call fcn.10005748
lea eax, [ebp - 0xe4]
push 0x2713
push eax
mov dword [ebp - 4], 0x6c
call fcn.1001c8f5
pop ecx
pop ecx
xor ebx, ebx
push ebx
push eax
lea eax, [ebp - 0x26c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x6d
call fcn.10011886
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x6e
call fcn.1000337e
push 1
lea ecx, [ebp - 0x26c]
call fcn.1000289a
mov ecx, dword [ebp - 0xe4]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x6c
call fcn.10001337
push 0x10076750
lea ecx, [ebp - 0x38]
call fcn.1000412b
mov ecx, dword [esi + 0x120]
push ebx
lea eax, [ebp - 0x60]
push eax
call fcn.10007486
mov eax, dword [eax]
cmp eax, ebx
mov byte [ebp - 4], 0x6f
je 0x10017434
mov eax, dword [eax]
jmp 0x10017436
xor eax, eax
push ebx
push eax
lea eax, [ebp - 0x2a4]
push eax
call fcn.1000911f
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x70
call fcn.1000337e
push 1
lea ecx, [ebp - 0x2a4]
call fcn.1000289a
mov ecx, dword [ebp - 0x60]
cmp ecx, ebx
mov byte [ebp - 4], 0x6c
je 0x10017477
call fcn.100015ca
mov dword [ebp - 0x60], ebx
cmp dword [ebp - 0x20], 8
mov eax, dword [ebp - 0x34]
jae 0x10017483
lea eax, [ebp - 0x34]
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.100014a0
mov ecx, esi
call fcn.100131f8
lea ecx, [ebp - 0x38]
jmp 0x1001825f
push ecx
mov dword [ebp + 8], esp
mov edi, esp
push 0
push ecx
mov ecx, dword [esi + 0x120]
mov eax, esp
mov dword [ebp + 8], esp
push eax
call fcn.100050be
push edi
call fcn.10032579
add esp, 0xc
mov ecx, esi
call fcn.100131f8
jmp 0x10018266
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 0xd0]
jne 0x100174ef
push edi
mov ecx, esi
call fcn.1000a750
neg al
sbb al, al
inc al
mov ecx, esi
push eax
push edi
call fcn.1000a68f
mov ecx, esi
call fcn.1000a3fe
push eax
mov ecx, esi
call fcn.100114ce
mov ecx, esi
call fcn.1000b272
test eax, eax
jne 0x10017513
push eax
push 9
mov ecx, esi
call fcn.1000a5ea
push edi
mov ecx, esi
call fcn.1000a750
mov ecx, dword [esi + 0x120]
push eax
call fcn.100053e5
jmp 0x10018266
lea eax, [ebp - 0x9c]
push eax
mov ecx, esi
call fcn.1000decd
push eax
lea eax, [ebp - 0x88]
push str.http:__toolbar.google.com
push eax
mov dword [ebp - 4], 0x71
call fcn.1000d0ae
add esp, 8
mov ecx, esp
mov dword [ebp + 8], esp
push 0x10094968
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x72
call fcn.100043c6
mov ecx, esi
call fcn.100131f8
mov ecx, dword [ebp - 0x88]
xor ebx, ebx
cmp ecx, ebx
je 0x1001758a
call fcn.100015ca
mov dword [ebp - 0x88], ebx
mov ecx, dword [ebp - 0x9c]
jmp 0x10015d7c
mov ecx, dword [esi + 0x120]
mov eax, dword [ecx + 0x64]
xor edx, edx
cmp edi, 0xf
sete dl
lea edx, [edx + edx - 1]
add edx, eax
push edx
lea eax, [ebp + 8]
push eax
call fcn.1000539e
lea ecx, [ebp + 8]
mov dword [ebp - 4], 0x73
call fcn.10002131
test eax, eax
jbe 0x100175df
push ecx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp + 0x10], esp
push eax
call fcn.100028c7
mov ecx, esi
call fcn.100131f8
mov ecx, dword [ebp + 8]
jmp 0x100166ab
push str.Version:
lea ecx, [ebp + 8]
call fcn.100014a0
mov dword [ebp - 4], 0x74
call sym.GoogleNav.dll_DllVersionStringW
push eax
lea ecx, [ebp + 0x10]
call fcn.100014a0
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x75
call fcn.10004366
mov ecx, dword [ebp + 0x10]
xor ebx, ebx
cmp ecx, ebx
mov byte [ebp - 4], 0x74
je 0x1001762b
call fcn.100015ca
push 0x1007454c
lea ecx, [ebp + 0x10]
call fcn.100014a0
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x76
call fcn.10004366
mov ecx, dword [ebp + 0x10]
cmp ecx, ebx
mov byte [ebp - 4], 0x74
je 0x10017658
call fcn.100015ca
push 0x10075e10
call sym.GoogleNav.dll_DllInfoA
push eax
lea ecx, [ebp + 0x10]
call fcn.10002078
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x77
call fcn.10004366
mov ecx, dword [ebp + 0x10]
cmp ecx, ebx
mov byte [ebp - 4], 0x74
je 0x1001768b
call fcn.100015ca
push 0x2001f
push str.SoftwareGoogleNavClient
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x18]
call fcn.10038798
push ebx
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x20], 7
call fcn.1000205b
lea eax, [ebp - 0x38]
push eax
push str.brand
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x79
call fcn.100388d3
cmp dword [ebp - 0x24], 4
jb 0x10017793
push 4
push ebx
lea eax, [ebp - 0x2dc]
push eax
lea ecx, [ebp - 0x38]
call fcn.1000e3cb
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x7a
call fcn.10004148
push 1
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 0x79
call fcn.1000289a
push 0x10076734
lea ecx, [ebp + 0x10]
call fcn.100014a0
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x7b
call fcn.10004366
mov ecx, dword [ebp + 0x10]
cmp ecx, ebx
mov byte [ebp - 4], 0x79
je 0x10017731
call fcn.100015ca
cmp dword [ebp - 0x20], 8
mov eax, dword [ebp - 0x34]
jae 0x1001773d
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp + 0x10]
call fcn.100014a0
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x7c
call fcn.10004366
mov ecx, dword [ebp + 0x10]
cmp ecx, ebx
mov byte [ebp - 4], 0x79
je 0x10017766
call fcn.100015ca
push 0x10076730
lea ecx, [ebp + 0x10]
call fcn.100014a0
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x7d
call fcn.10004366
mov ecx, dword [ebp + 0x10]
cmp ecx, ebx
mov byte [ebp - 4], 0x79
je 0x10017793
call fcn.100015ca
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0xf4]
call fcn.10002268
push 0x10074b4c
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x7e
call fcn.100014a0
push 0x10094ae0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x7f
call fcn.100014a0
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x80
call fcn.10004366
mov ecx, dword [ebp - 0x14]
cmp ecx, ebx
mov byte [ebp - 4], 0x7f
je 0x100177e4
call fcn.100015ca
push str._about.html
lea ecx, [ebp - 0x14]
call fcn.100014a0
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x81
call fcn.10004366
mov ecx, dword [ebp - 0x14]
cmp ecx, ebx
mov byte [ebp - 4], 0x7f
je 0x10017811
call fcn.100015ca
lea eax, [ebp - 0xf4]
push eax
push ecx
lea eax, [ebp + 0x10]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.100028c7
push dword [esi + 0xdc]
lea eax, [ebp - 0x18c]
push eax
call fcn.10036922
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
add esp, 0x10
lea eax, [ebp - 0x18c]
push eax
call esi
cmp eax, ebx
jge 0x10017855
push eax
call fcn.10043840
mov ecx, dword [ebp + 0x10]
cmp ecx, ebx
je 0x10017861
call fcn.100015ca
lea eax, [ebp - 0xf4]
push eax
mov byte [ebp - 4], 0x79
call esi
cmp eax, ebx
jge 0x10017878
push eax
call fcn.10043840
push 1
lea ecx, [ebp - 0x38]
call fcn.1000289a
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x74
call fcn.100385bd
jmp 0x10015d79
push 0
mov ecx, esi
call fcn.1000e045
jmp 0x10018266
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push 0x10074514
call fcn.100014a0
mov ecx, esi
call fcn.1000d155
mov ecx, esi
call fcn.1000a14f
jmp 0x10018266
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push str.cust.html
jmp 0x10017f1b
mov ecx, dword [esi + 0x120]
lea eax, [ebp - 0x40]
push eax
call fcn.100050be
push eax
lea ecx, [esi + 0x328]
call fcn.1000428a
mov ecx, dword [ebp - 0x40]
xor ebx, ebx
cmp ecx, ebx
je 0x10017900
call fcn.100015ca
mov dword [ebp - 0x40], ebx
lea eax, [ebp - 0x314]
push eax
mov ecx, esi
call fcn.10010411
cmp dword [eax + 0x18], 8
mov dword [ebp - 4], 0x83
jb 0x10017920
mov eax, dword [eax + 4]
jmp 0x10017923
add eax, 4
push eax
lea ecx, [ebp + 8]
call fcn.100014a0
lea eax, [ebp - 0x5c]
push esi
push eax
mov byte [ebp - 4], 0x84
call fcn.1000df29
pop ecx
pop ecx
mov edi, eax
push str.http:__
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x85
call fcn.100014a0
lea ecx, [ebp + 8]
push ecx
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x86
call fcn.100043c6
push 0x10094938
lea ecx, [ebp - 0x44]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x87
call fcn.100043c6
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push edi
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x88
call fcn.100043c6
mov ecx, esi
call fcn.100131f8
mov ecx, dword [ebp - 0x44]
cmp ecx, ebx
je 0x1001799f
call fcn.100015ca
mov dword [ebp - 0x44], ebx
mov ecx, dword [ebp - 0x4c]
cmp ecx, ebx
je 0x100179ae
call fcn.100015ca
mov dword [ebp - 0x4c], ebx
mov ecx, dword [ebp - 0x54]
cmp ecx, ebx
je 0x100179bd
call fcn.100015ca
mov dword [ebp - 0x54], ebx
mov ecx, dword [ebp - 0x5c]
cmp ecx, ebx
je 0x100179cc
call fcn.100015ca
mov dword [ebp - 0x5c], ebx
mov ecx, dword [ebp + 8]
cmp ecx, ebx
je 0x100179d8
call fcn.100015ca
lea ecx, [ebp - 0x314]
jmp 0x1001825f
push esi
lea ecx, [ebp - 0xf8]
call fcn.1000b03d
push dword [esi + 0xdc]
lea ecx, [ebp - 0xf8]
call fcn.1003b356
jmp 0x10018266
lea eax, [ebp - 0xf0]
push eax
call fcn.10056fc1
mov eax, dword [ebp - 0xf0]
pop ecx
mov ecx, dword [esi + 0x120]
mov dword [ebp + 8], eax
lea eax, [ebp - 0x64]
push eax
call fcn.100050be
mov eax, dword [eax]
xor ebx, ebx
cmp eax, ebx
mov dword [ebp - 4], 0x89
je 0x10017a3d
mov eax, dword [eax]
jmp 0x10017a3f
xor eax, eax
push eax
lea ecx, [ebp - 0x150]
call fcn.10005748
mov ecx, dword [ebp - 0x64]
cmp ecx, ebx
mov byte [ebp - 4], 0x8b
je 0x10017a5e
call fcn.100015ca
mov dword [ebp - 0x64], ebx
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.1000583a
pop ecx
pop ecx
mov eax, 0x9e3779b9
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x118], eax
push 4
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x8c
mov dword [ebp - 0x110], 0x67a5d32c
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0x10c], ebx
call fcn.1001e1e7
cmp dword [ebp - 0x11c], 0x10
mov eax, dword [ebp - 0x130]
jae 0x10017ac4
lea eax, [ebp - 0x130]
push dword [ebp - 0x120]
lea ecx, [ebp - 0x118]
push eax
call fcn.1001e1e7
lea ecx, [ebp - 0x118]
call fcn.1001e46b
mov eax, dword [ebp - 0x110]
push ebx
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], 7
call fcn.1000205b
cmp dword [ebp - 0x20], 0x400
mov byte [ebp - 4], 0x8d
jae 0x10017b15
push ebx
push 0x400
lea ecx, [ebp - 0x38]
call fcn.100032cc
lea eax, [ebp - 0x3bc]
push eax
mov ecx, esi
call fcn.10010411
push eax
lea eax, [ebp - 0x384]
push str.http:__
push eax
mov byte [ebp - 4], 0x8e
call fcn.1000e483
push 0x100766c8
push eax
lea eax, [ebp - 0x34c]
push eax
mov byte [ebp - 4], 0x8f
call fcn.1000e4d3
add esp, 0x18
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x90
call fcn.10004148
push 1
lea ecx, [ebp - 0x34c]
call fcn.1000289a
push 1
lea ecx, [ebp - 0x384]
call fcn.1000289a
push 1
lea ecx, [ebp - 0x3bc]
mov byte [ebp - 4], 0x8d
call fcn.1000289a
cmp edi, 0x6e
mov eax, 0x10074d04
je 0x10017b9c
mov eax, 0x100766c4
push eax
lea ecx, [ebp - 0x38]
call fcn.1000412b
push str.timestamp
lea ecx, [ebp - 0x38]
call fcn.1000412b
push 3
push dword [ebp + 8]
lea ecx, [ebp - 0x160]
call fcn.10001b72
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x91
call fcn.1000d1a3
lea eax, [ebp - 0x160]
push eax
mov byte [ebp - 4], 0x93
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, ebx
jge 0x10017bf0
push eax
call fcn.10043840
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x10017bfb
mov eax, dword [eax]
jmp 0x10017bfd
xor eax, eax
push eax
lea ecx, [ebp - 0x38]
call fcn.1000412b
push str.ch4
lea ecx, [ebp - 0x38]
call fcn.1000412b
push dword [ebp - 0x1c]
call fcn.100311a6
pop ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.1000412b
push str.url
lea ecx, [ebp - 0x38]
call fcn.1000412b
cmp dword [ebp - 0x138], 8
mov eax, dword [ebp - 0x14c]
jae 0x10017c47
lea eax, [ebp - 0x14c]
push ebx
push eax
lea eax, [ebp - 0x3f4]
push eax
call fcn.1000911f
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x94
call fcn.1000337e
xor edi, edi
inc edi
push edi
lea ecx, [ebp - 0x3f4]
mov byte [ebp - 4], 0x93
call fcn.1000289a
cmp dword [esi + 0x330], ebx
jne 0x10017cbb
lea eax, [ebp - 0x42c]
push eax
call fcn.1001cf08
cmp dword [eax + 0x18], 8
pop ecx
jb 0x10017c9b
mov eax, dword [eax + 4]
jmp 0x10017c9e
add eax, 4
push ebx
push ebx
push ebx
push edi
push eax
call dword [sym.imp.WININET.dll_InternetOpenW]
push edi
lea ecx, [ebp - 0x42c]
mov dword [esi + 0x330], eax
call fcn.1000289a
cmp dword [ebp - 0x20], 8
mov eax, dword [ebp - 0x34]
jae 0x10017cc7
lea eax, [ebp - 0x34]
push ebx
push 0xc4000200
push ebx
push ebx
push eax
push dword [esi + 0x330]
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push 0x40
call dword [sym.imp.USER32.dll_MessageBeep]
lea eax, [ebp - 0xa0]
push 0x2715
push eax
call fcn.1001c8f5
pop ecx
pop ecx
push ebx
push eax
lea eax, [ebp - 0x464]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x95
call fcn.10011886
cmp dword [eax + 0x18], 8
mov byte [ebp - 4], 0x96
jb 0x10017d21
mov eax, dword [eax + 4]
jmp 0x10017d24
add eax, 4
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.100014a0
mov ecx, dword [esi + 0x120]
call fcn.10005480
push edi
lea ecx, [ebp - 0x464]
call fcn.1000289a
mov ecx, dword [ebp - 0xa0]
add ecx, 0xfffffff0
call fcn.10001337
mov ecx, dword [ebp + 0x10]
cmp ecx, ebx
je 0x10017d61
call fcn.100015ca
push edi
lea ecx, [ebp - 0x38]
call fcn.1000289a
push edi
lea ecx, [ebp - 0x134]
call fcn.10002e29
push edi
lea ecx, [ebp - 0x150]
jmp 0x10018261
call sym.GoogleNav.dll_DllUnregisterServer
xor ebx, ebx
push ebx
lea eax, [ebp - 0xa8]
push eax
mov ecx, esi
call fcn.1000decd
push eax
lea eax, [ebp - 0x6c]
push str.http:__toolbar.google.com
push eax
mov dword [ebp - 4], 0x97
call fcn.1000d0ae
add esp, 8
mov ecx, esp
mov dword [ebp + 8], esp
push 0x1009497c
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x98
call fcn.100043c6
mov ecx, esi
call fcn.10012f3f
mov ecx, dword [ebp - 0x6c]
cmp ecx, ebx
je 0x10017ddd
call fcn.100015ca
mov dword [ebp - 0x6c], ebx
mov ecx, dword [ebp - 0xa8]
jmp 0x10015d7c
push str._press_zeitgeist.html
lea ecx, [ebp - 0x18]
call fcn.100014a0
lea eax, [ebp - 0x49c]
push eax
mov ecx, esi
mov dword [ebp - 4], 0x99
call fcn.10010411
cmp dword [eax + 0x18], 8
mov byte [ebp - 4], 0x9a
jb 0x10017e19
mov eax, dword [eax + 4]
jmp 0x10017e1c
add eax, 4
push eax
lea ecx, [ebp + 8]
call fcn.100014a0
push str.http:__
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x9b
call fcn.100014a0
lea ecx, [ebp + 8]
push ecx
lea ecx, [ebp - 0x74]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x9c
call fcn.100043c6
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
lea edx, [ebp - 0x18]
push edx
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x9d
call fcn.100043c6
mov ecx, esi
call fcn.100131f8
mov ecx, dword [ebp - 0x74]
xor ebx, ebx
cmp ecx, ebx
je 0x10017e77
call fcn.100015ca
mov dword [ebp - 0x74], ebx
mov ecx, dword [ebp - 0x7c]
cmp ecx, ebx
je 0x10017e86
call fcn.100015ca
mov dword [ebp - 0x7c], ebx
mov ecx, dword [ebp + 8]
cmp ecx, ebx
je 0x10017e92
call fcn.100015ca
push 1
lea ecx, [ebp - 0x49c]
call fcn.1000289a
mov ecx, dword [ebp - 0x18]
jmp 0x10015d7c
lea eax, [ebp - 0xb0]
push eax
mov ecx, esi
call fcn.1000decd
push eax
lea eax, [ebp - 0x84]
push str.http:__toolbar.google.com
push eax
mov dword [ebp - 4], 0x9e
call fcn.1000d0ae
add esp, 8
mov ecx, esp
mov dword [ebp + 8], esp
push 0x10094964
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x9f
call fcn.100043c6
mov ecx, esi
call fcn.100131f8
mov ecx, dword [ebp - 0x84]
xor ebx, ebx
cmp ecx, ebx
je 0x10017f05
call fcn.100015ca
mov dword [ebp - 0x84], ebx
mov ecx, dword [ebp - 0xb0]
jmp 0x10015d7c
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push str.uninstall.html
call fcn.100014a0
mov ecx, esi
call fcn.1001324a
jmp 0x10018266
mov eax, dword [esi + 0x18]
neg eax
sbb eax, eax
and eax, 0xfffffffd
add eax, 3
push eax
mov ecx, esi
call fcn.1001578b
jmp 0x10018266
add edi, 0xffffffe1
push edi
mov ecx, esi
call fcn.10014c8a
jmp 0x10018266
add edi, 0xffffffd9
push edi
mov ecx, esi
call fcn.10012ee4
jmp 0x10018266
sub esp, 0x1c
lea eax, [esi + 0x3c8]
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.1000570a
mov ecx, esi
call fcn.10015950
sub esp, 0x1c
lea eax, [esi + 0x3e4]
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.1000570a
mov ecx, esi
call fcn.100159b5
sub esp, 0x1c
lea eax, [esi + 0x400]
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.1000570a
mov ecx, esi
call fcn.10015713
sub esp, 0x1c
lea eax, [esi + 0x41c]
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.1000570a
mov ecx, esi
call fcn.10015a1a
mov edi, 0x81
push edi
mov ecx, esi
call fcn.1000a5cb
test al, al
je 0x10017feb
push edi
mov ecx, esi
call fcn.10015386
push edi
mov ecx, esi
call fcn.1001536b
jmp 0x10018266
xor ebx, ebx
cmp dword [esi + 0x43c], ebx
je 0x10018266
lea eax, [ebp - 0xb8]
push eax
mov ecx, esi
call fcn.1000cbe0
push dword [eax]
mov ecx, dword [esi + 0x43c]
mov dword [ebp - 4], 0xa0
call fcn.1002b77a
mov eax, dword [ebp - 0xb8]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x10018266
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10018266
mov ecx, esi
call fcn.1000fc9d
jmp 0x10018266
lea eax, [ebp - 0xc0]
push esi
push eax
call fcn.1000df29
add esp, 4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
push ecx
mov ecx, 0x10094960
mov dword [ebp - 4], 0xa1
call fcn.100043c6
mov ecx, esi
call fcn.100131f8
mov ecx, dword [ebp - 0xc0]
jmp 0x100166ab
cmp edi, 0x32
jl 0x1001812e
lea ecx, [esi + 0x308]
call fcn.1000a968
add eax, 0x32
cmp edi, eax
jae 0x1001812e
mov ecx, esi
call fcn.1000a3fe
push eax
lea ecx, [ebp - 0x2e4c]
call fcn.10006f87
mov ecx, eax
mov dword [ebp + 8], ecx
imul edi, edi, 0x58
mov eax, dword [esi + 0x30c]
add edi, eax
lea eax, [edi - 0x10f8]
cmp dword [eax + 0x18], 8
mov dword [ebp - 4], 0xa2
jb 0x100180e5
mov ebx, dword [eax + 4]
jmp 0x100180e8
lea ebx, [eax + 4]
lea eax, [edi - 0x1114]
cmp dword [eax + 0x18], 8
jb 0x100180f9
mov eax, dword [eax + 4]
jmp 0x100180fc
add eax, 4
push eax
call fcn.10004249
mov ecx, dword [ebp + 8]
push ebx
call fcn.1000d767
sub esp, 0x1c4
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.10012bd9
mov ecx, esi
call fcn.10013574
lea ecx, [ebp - 0x2e4c]
jmp 0x10015cb3
cmp edi, 0xc8
jl 0x10018266
mov ecx, dword [esi + 0x2ec]
add edi, 0xffffff38
push edi
call fcn.100106f3
push dword [eax]
lea ecx, [ebp - 0x17c]
call fcn.10005748
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x11
mov dword [ebp - 4], 0xa3
call edi
shr eax, 0xf
and eax, 1
push eax
push 0x10
call edi
shr eax, 0xf
not al
and eax, 0xffffff01
cmp dword [ebp - 0x164], 8
push eax
mov eax, dword [ebp - 0x178]
jae 0x10018195
lea eax, [ebp - 0x178]
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.100014a0
push dword [esi + 0x11c]
call fcn.10014039
xor ebx, ebx
add esp, 0x10
cmp al, bl
je 0x1001823e
lea eax, [ebp + 0x10]
push 0x2737
push eax
call fcn.1001c8f5
lea eax, [ebp + 0x10]
push 0x10074bcc
push eax
mov byte [ebp - 4], 0xa4
call fcn.1000f316
add esp, 0x10
test al, al
je 0x10018229
push ebx
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x4d4]
push eax
mov ecx, esi
call fcn.10011886
cmp dword [eax + 0x18], 8
mov byte [ebp - 4], 0xa5
jb 0x10018202
mov eax, dword [eax + 4]
jmp 0x10018205
add eax, 4
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.100014a0
mov ecx, dword [esi + 0x120]
call fcn.10005480
push 1
lea ecx, [ebp - 0x4d4]
call fcn.1000289a
push 0x30
call dword [sym.imp.USER32.dll_MessageBeep]
mov ecx, dword [ebp + 0x10]
add ecx, 0xfffffff0
call fcn.10001337
jmp 0x10018259
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push 0x10074514
call fcn.100014a0
mov ecx, dword [esi + 0x120]
call fcn.10005480
lea ecx, [ebp - 0x17c]
push 1
call fcn.1000289a
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0x10