Function at 0x10097be0
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x118
push ebx
push esi
push edi
mov al, byte [0x100cd1a3]
mov byte [ebp - 0x29], al
mov ecx, dword [0x100cd208]
mov word [ebp - 0x7c], cx
mov edx, 0x7b
mov word [ebp - 0x18], dx
mov al, byte [0x100cd12b]
mov byte [ebp - 3], al
mov cl, byte [0x100cd228]
mov byte [ebp - 5], cl
mov byte [ebp - 8], 0xc1
mov edx, 0x26
mov word [ebp - 0x30], dx
xor eax, eax
mov dword [ebp - 0x58], 0xf165
mov dword [ebp - 0x54], eax
mov byte [ebp - 7], 0x31
mov cx, word [0x100cd218]
mov byte [ebp - 4], cl
mov byte [ebp - 6], 0x2e
mov dx, word [0x100cd1b4]
mov byte [ebp - 2], dl
movsx eax, byte [0x100cd153]
mov dword [ebp - 0x50], eax
xor ecx, ecx
mov dword [ebp - 0x48], 0xb3
mov dword [ebp - 0x44], ecx
mov edx, dword [0x100cd1b8]
mov dword [ebp - 0x28], edx
xor eax, eax
mov dword [ebp - 0xb0], 0xc753de4a
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x74], 0x59ae1b63
mov ecx, dword [0x100cd1d8]
mov dword [ebp - 0x34], ecx
mov edx, dword [0x100cd1a4]
mov word [ebp - 0xc], dx
mov eax, dword [0x100cd1bc]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xa0], 0x6195d7f4
mov ecx, dword [0x100cd1d8]
mov dword [ebp - 0x14], ecx
mov eax, dword [0x100cd1b0]
cdq
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
movsx eax, byte [0x100cd1a3]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov edx, dword [0x100cd1cc]
mov dword [ebp - 0x38], edx
mov al, byte [0x100cd1a3]
mov byte [ebp - 1], al
xor ecx, ecx
mov dword [ebp - 0xe0], 0xb8
mov dword [ebp - 0xdc], ecx
mov edx, 0x58f4
mov word [ebp - 0x80], dx
mov ax, word [0x100cd1c8]
mov word [ebp - 0x84], ax
mov ecx, 0x7ce2
mov word [ebp - 0x88], cx
movsx edx, word [0x100cd1c8]
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xb4], 0x7984
movzx eax, byte [0x100cd152]
mov dword [ebp - 0xb8], eax
xor ecx, ecx
mov dword [ebp - 0xe8], 0x8a32
mov dword [ebp - 0xe4], ecx
xor edx, edx
mov dword [ebp - 0xf0], 0x60f867bb
mov dword [ebp - 0xec], edx
mov ax, word [0x100cd20c]
mov word [ebp - 0x9c], ax
mov cx, word [0x100cd1d8]
mov word [ebp - 0x98], cx
xor edx, edx
mov dword [ebp - 0xf8], 0x5396f54d
mov dword [ebp - 0xf4], edx
mov al, byte [0x100cd200]
mov byte [ebp - 0x2a], al
mov ecx, dword [0x100cd1b0]
mov dword [ebp - 0xbc], ecx
mov dx, word [0x100cd1b8]
mov word [ebp - 0x94], dx
mov al, byte [0x100cd200]
mov byte [ebp - 0x2b], al
mov ecx, dword [0x100cd208]
xor edx, edx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x1c]
jg 0x10097e03
jl 0x10097ddd
mov ecx, dword [ebp - 0x90]
cmp ecx, dword [ebp - 0x20]
jae 0x10097e03
mov ecx, 7
mov esi, str.If_None_Match:
lea edi, [ebp - 0x118]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [0x100cd1a4], eax
movzx eax, byte [str.FailedtoretrieveHy]
mov ecx, dword [ebp - 0x14]
sub ecx, eax
mov edx, dword [ebp - 0x14]
sub edx, ecx
mov dword [ebp - 0x14], edx
movsx eax, byte [0x100cd12a]
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
movzx ecx, byte [ebp - 4]
sub ecx, dword [ebp - 0xa0]
mov word [0x100cd224], cx
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xc0], eax
mov byte [0x100cd167], dl
mov eax, dword [0x100cd1d8]
cdq
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0xc4], edx
sub eax, ecx
mov dword [0x100cd1cc], eax
movsx eax, word [0x100cd1a8]
test eax, eax
je 0x10097e77
mov ecx, dword [0x100cd1b8]
mov dword [ebp - 0x64], ecx
jmp 0x10097e80
mov edx, dword [0x100cd228]
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x64]
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
movsx edx, byte [0x100cd12a]
test edx, edx
je 0x10097e9f
movsx eax, word [ebp - 0xc]
mov dword [ebp - 0x68], eax
jmp 0x10097ea8
mov ecx, dword [0x100cd1b0]
mov dword [ebp - 0x68], ecx
mov eax, dword [ebp - 0x68]
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [0x100cd210]
mov esi, dword [0x100cd214]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x100cd210]
mov eax, dword [0x100cd214]
add edx, ecx
adc eax, esi
mov dword [0x100cd210], edx
mov dword [0x100cd214], eax
movzx eax, byte [0x100cd12b]
cdq
add eax, 0x94486f96
adc edx, 0x7c91f
not eax
not edx
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x28]
xor esi, esi
xor eax, ecx
xor edx, esi
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
mov edx, dword [ebp - 0xa8]
or edx, dword [ebp - 0xa4]
jne 0x10097f27
mov dword [ebp - 0x6c], 1
jmp 0x10097f2e
mov dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x6c]
xor eax, dword [0x100cd1cc]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xc8], eax
add ecx, edx
mov dword [ebp - 0x10], ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov word [0x100cd1fc], ax
cmp dword [ebp - 0x38], 0
je 0x10097f6d
xor ecx, ecx
je 0x10097f6d
mov dword [ebp - 0x70], 1
jmp 0x10097f74
mov dword [ebp - 0x70], 0
mov edx, dword [0x100cd21c]
sub edx, dword [ebp - 0x70]
jne 0x10097fc5
movsx eax, byte [ebp - 3]
imul ecx, eax, 0xd329
mov edx, dword [ebp - 0x10]
shl edx, cl
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x74]
sub eax, 0xd
mov byte [0x100cd12a], al
movsx ecx, word [ebp - 0x18]
imul edx, ecx, 0x91
mov byte [0x100cd167], dl
mov eax, 0x19af5c82
sub eax, dword [0x100cd208]
not eax
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
mov byte [ebp - 4], 2
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x10098004
mov edx, dword [ebp - 0x24]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x24]
push ecx
call dword [sym.imp.USER32.dll_IsWindowUnicode]
mov dword [ebp - 0xd0], eax
movzx edx, word [0x100cd1d4]
sar edx, 1
mov word [ebp - 0xc], dx
mov byte [0x100cd18f], 0xfb
mov ax, word [0x100cd218]
mov word [ebp - 0xc], ax
mov cl, byte [ebp - 3]
mov edx, 1
imul eax, edx, 0xb3
mov byte [eax + 0x10596830], cl
cmp dword [ebp - 0x10], 0
je 0x100981aa
mov dword [0x100cd1cc], 1
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xac]
push 0
push 0x25aa
push edx
push ecx
call fcn.10099890
mov dword [ebp - 0x74], eax
imul eax, dword [ebp - 0x28], 0x8b71
mov word [0x100cd224], ax
mov ecx, dword [0x1048e408]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x38]
sub edx, 0x47d8ea7b
mov byte [0x100cd12a], dl
movzx eax, byte [0x100cd152]
add eax, dword [0x100cd1cc]
movsx ecx, word [0x100cd1d0]
sub eax, ecx
mov byte [0x100cd18f], al
movsx edx, word [0x100cd1c8]
sar edx, 1
mov word [0x100cd1c4], dx
mov eax, dword [0x100cd1cc]
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
je 0x100980d4
cmp dword [ebp - 0x78], 1
je 0x10098157
jmp 0x100981a5
movsx ecx, word [0x100cd220]
movsx edx, word [0x100cd1c8]
add ecx, edx
movsx eax, word [0x100cd220]
sub eax, ecx
mov word [0x100cd220], ax
movzx ecx, byte [ebp - 2]
test ecx, ecx
je 0x10098108
movsx eax, word [ebp - 0x30]
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
jmp 0x10098114
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [0x100cd210], ecx
mov dword [0x100cd214], edx
mov eax, dword [0x100cd1b8]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x20]
mov eax, dword [0x100cd1b8]
cdq
sub eax, ecx
mov dword [0x100cd1b8], eax
movzx edx, byte [ebp - 2]
mov eax, dword [ebp - 0x28]
xor eax, edx
mov dword [ebp - 0x28], eax
movsx ecx, byte [ebp - 5]
imul ecx, dword [ebp - 0x34]
mov dword [ebp - 0x34], ecx
jmp 0x100981a5
mov byte [ebp - 6], 0x33
movzx edx, word [0x100cd224]
sar edx, 4
mov byte [0x100cd12a], dl
mov byte [ebp - 7], 0xf9
mov eax, dword [ebp - 0x38]
xor ecx, ecx
sub eax, 0x405ef750
sbb ecx, 0x38f68
mov dword [0x100cd1f0], eax
mov dword [0x100cd1f4], ecx
movsx edx, byte [0x100cd12a]
not edx
imul eax, edx, 0x7a4077ef
mov byte [ebp - 8], al
mov ecx, 0x6d
mov word [ebp - 0x18], cx
jmp 0x1009828c
mov edx, 1
imul eax, edx, 0x71
movzx ecx, byte [eax + 0x106443a8]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
call fcn.100998f0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
movsx ecx, byte [ebp - 1]
movzx edx, byte [0x100cd12b]
imul ecx, edx
movsx eax, byte [ebp - 1]
add eax, ecx
mov byte [ebp - 1], al
movzx ecx, byte [str.FailedtoretrieveHy]
test ecx, ecx
jne 0x100981f5
mov dword [ebp - 0x4c], 1
jmp 0x100981fc
mov dword [ebp - 0x4c], 0
movzx edx, word [0x100cd1d4]
xor edx, dword [ebp - 0x4c]
mov dword [0x100cd21c], edx
movsx eax, byte [0x100cd153]
imul ecx, eax, 0x2b964fe4
mov dword [0x100cd1b8], ecx
movzx eax, byte [0x100cd167]
cdq
add eax, 0xb0fa221f
mov word [0x100cd1c0], ax
movsx esi, word [0x100cd1c4]
and esi, dword [0x100cd1ac]
xor edi, edi
movzx eax, word [0x100cd1e8]
cdq
mov ecx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
not ecx
not ebx
push ebx
push ecx
push edx
push eax
call fcn.10099890
push edx
push eax
push edi
push esi
call fcn.10099890
mov esi, eax
movsx eax, word [0x100cd1c4]
movsx edx, byte [ebp - 3]
sub eax, edx
cdq
mov ecx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x3c]
push edx
push eax
push edi
push ecx
call fcn.10099890
add esi, eax
mov dword [0x100cd208], esi
mov byte [ebp - 1], 0xaf
mov edx, dword [0x100cd228]
add edx, 0xa91020f0
mov dword [0x100cd1b8], edx
movsx eax, word [0x100cd1b4]
sub eax, 0x13c79a04
mov dword [ebp - 0x50], eax
movzx ecx, byte [0x100cd167]
movsx edx, word [0x100cd1c8]
sub ecx, edx
mov eax, 0x1803
sub eax, ecx
movsx ecx, word [0x100cd1c8]
movsx edx, word [0x100cd20c]
and edx, dword [ebp - 0x50]
xor ecx, edx
not ecx
add eax, ecx
mov byte [ebp - 2], al
mov ax, word [0x100cd1dc]
mov word [0x100cd1c4], ax
mov eax, dword [ebp - 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret