Function at 0x1002e85
Capabilities:
Check if file exists
Download url
Get file attributes
Link many functions at runtime
Receive data
Reference sql statements
Shutdown system

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x21e8
call fcn.01006d80
mov eax, dword [0x1009004]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
push esi
push edi
mov dword [ebp - 0x20fc], eax
mov eax, dword [ebp + 0x10]
mov edi, 0x1fe
push edi
mov dword [ebp - 0x2118], eax
lea eax, [ebp - 0x20e]
push ebx
push eax
xor esi, esi
mov dword [ebp - 0x214c], ebx
mov dword [ebp - 0x211c], ebx
mov dword [ebp - 0x2130], ebx
mov dword [ebp - 0x2104], ebx
mov dword [ebp - 0x2120], ebx
mov dword [ebp - 0x210c], ebx
mov dword [ebp - 0x212c], ebx
mov dword [ebp - 0x2134], ebx
mov dword [ebp - 0x2108], ebx
mov dword [ebp - 0x2110], ebx
mov dword [ebp - 0x2154], ebx
mov dword [ebp - 0x215c], ebx
mov dword [ebp - 0x2138], ebx
mov word [ebp - 0x210], bx
call sub.msvcrt.dll_memset
push edi
lea eax, [ebp - 0x6de]
push ebx
push eax
mov word [ebp - 0x6e0], bx
call sub.msvcrt.dll_memset
mov edi, 0x7fe
push edi
lea eax, [ebp - 0x16de]
push ebx
push eax
mov word [ebp - 0x16e0], bx
call sub.msvcrt.dll_memset
push edi
lea eax, [ebp - 0xede]
push ebx
push eax
mov word [ebp - 0xee0], bx
call sub.msvcrt.dll_memset
push edi
lea eax, [ebp - 0x1ede]
push ebx
push eax
mov word [ebp - 0x1ee0], bx
call sub.msvcrt.dll_memset
push 0x4e
lea eax, [ebp - 0x2d6]
push ebx
push eax
mov word [ebp - 0x2d8], bx
call sub.msvcrt.dll_memset
add esp, 0x48
push 0x206
lea eax, [ebp - 0x4de]
push ebx
push eax
mov word [ebp - 0x4e0], bx
call sub.msvcrt.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x20f8]
mov dword [ebp - 0x2124], ebx
mov dword [ebp - 0x2188], 0x28
mov dword [ebp - 0x2168], ebx
mov byte [ebp - 0x2111], bl
mov byte [ebp - 0x2144], bl
mov byte [ebp - 0x20fd], bl
mov dword [ebp - 0x2140], ebx
mov dword [ebp - 0x2158], ebx
mov dword [ebp - 0x213c], ebx
mov dword [ebp - 0x2148], ebx
mov dword [ebp - 0x2164], ebx
call fcn.01004557
mov edi, 0x100
push edi
lea eax, [ebp - 0x210]
push eax
push 0xb
push dword [ebp - 0x20fc]
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x104
lea eax, [ebp - 0x4e0]
push eax
push dword [ebp - 0x20fc]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x100303f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x10030ae
push ebx
lea eax, [ebp - 0x4e0]
push eax
push 0x1001eb8
call fcn.01006459
push dword [ebp - 0x2118]
call fcn.01005ea8
cmp eax, 2
mov dword [ebp - 0x2150], eax
jne 0x1003237
push dword [ebp - 0x2118]
lea eax, [ebp - 0x4e0]
push eax
call fcn.01005e0f
mov esi, eax
cmp esi, 0xa0
jne 0x10030ae
lea eax, [ebp - 0x210]
push eax
push ebx
push dword [ebp - 0x20fc]
call fcn.010059a0
cmp dword [ebp - 0x214c], ebx
je 0x10030ae
push dword [ebp - 0x214c]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
cmp dword [ebp - 0x211c], ebx
je 0x10030c2
push dword [ebp - 0x211c]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
cmp dword [ebp - 0x2130], ebx
je 0x10030d6
push dword [ebp - 0x2130]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
cmp dword [ebp - 0x2104], ebx
je 0x10030ea
push dword [ebp - 0x2104]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
cmp dword [ebp - 0x2120], ebx
je 0x100310a
push dword [ebp - 0x2120]
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntryW]
push dword [ebp - 0x2120]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
cmp dword [ebp - 0x212c], ebx
je 0x100311e
push dword [ebp - 0x212c]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
cmp dword [ebp - 0x2134], ebx
je 0x1003132
push dword [ebp - 0x2134]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
cmp dword [ebp - 0x2108], ebx
je 0x1003146
push dword [ebp - 0x2108]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
cmp dword [ebp - 0x2110], ebx
je 0x100315a
push dword [ebp - 0x2110]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
cmp dword [ebp - 0x215c], ebx
je 0x100316e
push dword [ebp - 0x215c]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
cmp dword [ebp - 0x2138], ebx
je 0x1003182
push dword [ebp - 0x2138]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
cmp dword [ebp - 0x210c], ebx
je 0x1003196
push dword [ebp - 0x210c]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
cmp dword [ebp - 0x2160], ebx
je 0x10031aa
push dword [ebp - 0x2160]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2140], ebx
je 0x10031be
push dword [ebp - 0x2140]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push esi
push 0x1001e7c
call fcn.0100635c
cmp byte [ebp - 0x2111], bl
je 0x1003219
push 0x400
lea eax, [ebp - 0xee0]
push eax
push 0x1e
push dword [ebp - 0x20fc]
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x24
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0xee0]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x1003219
call fcn.01005cdd
push 0x84040002
push 2
call dword [sym.imp.USER32.dll_ExitWindowsEx]
lea ecx, [ebp - 0x20f8]
call fcn.01004594
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.01006d61
leave
ret 0x10
cmp eax, 1
je 0x1003087
lea eax, [ebp - 0x210]
push eax
push ebx
push dword [ebp - 0x20fc]
lea ecx, [ebp - 0x20f8]
call fcn.010049a3
call fcn.01005ba4
test al, al
jne 0x100328c
push 0x24
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x20fc]
call fcn.010058eb
mov esi, 0x643
jmp 0x10030ae
lea eax, [ebp - 0x2160]
push eax
mov dword [ebp - 0x2160], ebx
call fcn.01005967
test al, al
je 0x10032ac
mov esi, 0x652
jmp 0x10030ae
push ebx
lea eax, [ebp - 0x210c]
push eax
push 0x1001e68
push dword [ebp - 0x20fc]
call fcn.010065c5
mov esi, eax
cmp esi, 0xe
jne 0x10032ee
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x20fc]
call fcn.010059fb
jmp 0x10030ae
cmp esi, ebx
je 0x1003356
cmp dword [ebp - 0x210c], ebx
je 0x1003306
push dword [ebp - 0x210c]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
push 0x10011f4
call dword [sym.imp.KERNEL32.dll_lstrlenW]
xor ecx, ecx
push 2
inc eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
mov dword [ebp - 0x210c], eax
je 0x10032cb
mov eax, 0x10011f4
push eax
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
push eax
push dword [ebp - 0x210c]
call fcn.01002da9
test eax, eax
jge 0x1003356
push 0x25
jmp 0x1003264
push ebx
lea eax, [ebp - 0x212c]
push eax
push 0x1001e50
push dword [ebp - 0x20fc]
call fcn.010065c5
mov esi, eax
cmp esi, 0xe
je 0x10032cb
cmp esi, ebx
je 0x10033ba
cmp dword [ebp - 0x212c], ebx
je 0x1003391
push dword [ebp - 0x212c]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
push 0x200
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
mov dword [ebp - 0x212c], eax
je 0x10032cb
push edi
push eax
push 0x11
push dword [ebp - 0x20fc]
call dword [sym.imp.USER32.dll_LoadStringW]
push edi
lea eax, [ebp - 0x6e0]
push eax
push 0x10
push dword [ebp - 0x20fc]
call dword [sym.imp.USER32.dll_LoadStringW]
push dword [ebp - 0x212c]
lea eax, [ebp - 0x6e0]
push eax
lea eax, [ebp - 0x16e0]
push 0x400
push eax
call fcn.01002e24
add esp, 0x10
lea eax, [ebp - 0x16e0]
push eax
lea ecx, [ebp - 0x20f8]
call fcn.0100468d
cmp eax, 1
jne 0x1003430
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x20fc]
call fcn.01005870
mov esi, 0x642
jmp 0x10030ae
push ebx
lea eax, [ebp - 0x211c]
push eax
mov edi, 0x1001e3c
push edi
push dword [ebp - 0x20fc]
call fcn.010065c5
mov esi, eax
cmp esi, 0xe
je 0x10032cb
cmp esi, ebx
je 0x10034aa
push ebx
lea eax, [ebp - 0x211c]
push eax
push 0x1001e30
push dword [ebp - 0x20fc]
call fcn.010065c5
mov esi, eax
cmp esi, 0xe
je 0x10032cb
cmp esi, ebx
je 0x10034a3
push edi
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x20fc]
call fcn.01005f2f
jmp 0x10030ae
mov byte [ebp - 0x2144], 1
xor eax, eax
mov word [ebp - 0x10], bx
lea edi, [ebp - 0xe]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
push 9
pop ecx
xor eax, eax
mov word [ebp - 0x288], bx
lea edi, [ebp - 0x286]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 9
pop ecx
xor eax, eax
mov word [ebp - 0x260], bx
lea edi, [ebp - 0x25e]
rep stosd dword es:[edi], eax
push 9
stosw word es:[edi], ax
pop ecx
xor eax, eax
mov word [ebp - 0x238], bx
lea edi, [ebp - 0x236]
rep stosd dword es:[edi], eax
push 0x14
stosw word es:[edi], ax
lea eax, [ebp - 0x288]
push eax
push 0x26
push dword [ebp - 0x20fc]
call dword [sym.imp.USER32.dll_LoadStringW]
mov edi, dword [sym.imp.USER32.dll_LoadStringW]
push 0x14
lea eax, [ebp - 0x260]
push eax
push 0x27
push dword [ebp - 0x20fc]
call edi
push 0x14
lea eax, [ebp - 0x238]
push eax
push 0x28
push dword [ebp - 0x20fc]
call edi
push 0x26
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
mov dword [ebp - 0x214c], eax
jne 0x1003571
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x20fc]
call fcn.010059fb
jmp 0x100309a
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x1001e20
push 0x1001e04
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
cmp eax, ebx
je 0x100359b
lea ecx, [ebp - 0x21c4]
push ecx
call eax
jmp 0x10035a4
or word [ebp - 0x21c4], 0xffff
push 0x1001df0
push 0x1001e04
call esi
push eax
call edi
cmp eax, ebx
je 0x10035c2
lea ecx, [ebp - 0x21e8]
push ecx
call eax
jmp 0x10035cb
or word [ebp - 0x21e8], 0xffff
push 6
pop eax
cmp word [ebp - 0x21c4], ax
je 0x1003641
cmp word [ebp - 0x21e8], ax
je 0x1003641
cmp word [ebp - 0x21c4], 9
je 0x1003639
cmp word [ebp - 0x21e8], 9
je 0x1003639
lea ecx, [ebp - 0x288]
push ecx
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.01002da9
test eax, eax
jge 0x1003649
push dword [ebp - 0x211c]
lea eax, [ebp - 0x210]
push 0xd
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x20fc]
call fcn.01006183
mov esi, 0x643
jmp 0x100309a
lea ecx, [ebp - 0x238]
jmp 0x10035fa
lea ecx, [ebp - 0x260]
jmp 0x10035fa
mov esi, dword [ebp - 0x214c]
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x211c]
push 0x13
push esi
call fcn.01002e24
add esp, 0x10
test eax, eax
jl 0x1003609
push dword [ebp - 0x211c]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
cmp dword [ebp - 0x2150], 3
pop ecx
mov dword [ebp - 0x211c], esi
jne 0x10036bd
lea eax, [ebp - 0x2164]
push eax
push dword [ebp - 0x2118]
push dword [ebp - 0x2144]
call fcn.010057cc
mov esi, eax
cmp esi, 0xa0
jne 0x10036bd
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
jmp 0x100308f
push ebx
lea eax, [ebp - 0x2134]
push eax
push 0x1001dd8
push dword [ebp - 0x20fc]
call fcn.010065c5
mov esi, eax
cmp esi, 0xe
je 0x100354e
cmp esi, ebx
je 0x100370c
push 0x1001dd8
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x20fc]
call fcn.01005f2f
jmp 0x100309a
push 0xa
lea eax, [ebp - 0x2168]
push eax
push dword [ebp - 0x2134]
call dword [sym.imp.msvcrt.dll_wcstol]
mov ecx, dword [ebp - 0x2168]
mov esi, eax
add esp, 0xc
cmp ecx, ebx
mov dword [ebp - 0x2118], esi
mov eax, 0x96
je 0x1004523
cmp ecx, dword [ebp - 0x2134]
je 0x1004523
cmp word [ecx], bx
jne 0x1004523
cmp esi, eax
jb 0x1004523
push esi
push 0x1001d90
call fcn.0100635c
push esi
call fcn.01004cd2
test al, al
je 0x10038dd
push ebx
push ebx
push 0x1001d28
call fcn.01006459
call fcn.01005c31
test al, al
jne 0x10037af
push 0x1a
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x20fc]
call fcn.010058eb
jmp 0x100362f
push 0x400
lea eax, [ebp - 0x1ee0]
push eax
push 0x21
push dword [ebp - 0x20fc]
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x24
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x1ee0]
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
je 0x1003818
lea ecx, [ebp - 0x20f8]
lea eax, [ebp - 0x210]
push eax
call fcn.01004671
push eax
push dword [ebp - 0x20fc]
call fcn.01005870
mov esi, 0x642
jmp 0x100309a
push ebx
lea eax, [ebp - 0x2138]
push eax
push 0x1001d18
push dword [ebp - 0x20fc]
call fcn.010065c5
mov esi, eax
cmp esi, 0xe
je 0x100354e
cmp esi, ebx
je 0x1003849
push 0x1001d18
jmp 0x10036e9
push ebx
lea eax, [ebp - 0x215c]
push eax
push 0x1001cf8
push dword [ebp - 0x20fc]
call fcn.010065c5
mov esi, eax
cmp esi, 0xe
je 0x100354e
cmp esi, ebx
push dword [ebp - 0x2118]
lea eax, [ebp - 0x4e0]
jne 0x10038a4
push eax
push dword [ebp - 0x2138]
lea eax, [ebp - 0x210]
push dword [ebp - 0x215c]
push eax
lea eax, [ebp - 0x20f8]
push eax
push dword [ebp - 0x20fc]
call fcn.01005316
jmp 0x10038c4
push dword [ebp - 0x2138]
push eax
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x20f8]
push eax
push dword [ebp - 0x20fc]
call fcn.01005165
mov esi, eax
cmp esi, ebx
je 0x10038dd
cmp esi, 0xbc2
jne 0x100309a
mov byte [ebp - 0x2111], 1
push ebx
push ebx
push 0x1001c60
call fcn.01006459
cmp byte [ebp - 0x2144], bl
mov esi, dword [sym.imp.KERNEL32.dll_CompareStringW]
push 0xffffffffffffffff
je 0x100399a
push 0x1001214
push 0xffffffffffffffff
push dword [ebp - 0x210c]
push 1
push 0x409
call esi
cmp eax, 2
je 0x1003a00
push 0xffffffffffffffff
push 0x1001228
push 0xffffffffffffffff
push dword [ebp - 0x210c]
push 1
push 0x409
call esi
cmp eax, 2
je 0x1003a00
push 0xffffffffffffffff
push 0x10011f4
push 0xffffffffffffffff
push dword [ebp - 0x210c]
push 1
push 0x409
call esi
cmp eax, 2
je 0x1003a00
push ebx
push dword [ebp - 0x210c]
push 0x1001c00
call fcn.01006459
push dword [ebp - 0x210c]
lea eax, [ebp - 0x210]
push 0x22
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x20fc]
call fcn.01006183
jmp 0x100454a
push 0x1001204
push 0xffffffffffffffff
push dword [ebp - 0x210c]
push 1
push 0x409
call esi
cmp eax, 2
je 0x1003a00
push 0xffffffffffffffff
push 0x100123c
push 0xffffffffffffffff
push dword [ebp - 0x210c]
push 1
push 0x409
call esi
cmp eax, 2
je 0x1003a00
push 0xffffffffffffffff
push 0x10011f4
push 0xffffffffffffffff
push dword [ebp - 0x210c]
push 1
push 0x409
call esi
cmp eax, 2
je 0x1003a00
push ebx
push dword [ebp - 0x210c]
push 0x1001b98
jmp 0x100396a
push 0xffffffffffffffff
push 0x1001214
push 0xffffffffffffffff
push dword [ebp - 0x210c]
push 1
push 0x409
call esi
cmp eax, 2
je 0x1003a5f
push 0xffffffffffffffff
push 0x100123c
push 0xffffffffffffffff
push dword [ebp - 0x210c]
push 1
push 0x409
call esi
cmp eax, 2
je 0x1003a5f
cmp byte [ebp - 0x2144], bl
je 0x1003a66
push 0xffffffffffffffff
push 0x10011f4
push 0xffffffffffffffff
push dword [ebp - 0x210c]
push 1
push 0x409
call esi
cmp eax, 2
jne 0x1003a66
mov byte [ebp - 0x20fd], 1
push ebx
lea eax, [ebp - 0x2130]
push eax
push 0x1001b84
push dword [ebp - 0x20fc]
call fcn.010065c5
mov esi, eax
cmp esi, 0xe
je 0x100354e
cmp esi, ebx
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
jne 0x1003e3d
push dword [ebp - 0x2130]
call esi
push dword [ebp - 0x211c]
mov dword [ebp - 0x2128], eax
call esi
mov ecx, dword [ebp - 0x2128]
lea esi, [ecx + eax + 2]
xor ecx, ecx
push 2
pop edx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
mov dword [ebp - 0x2110], eax
jne 0x1003afd
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x20fc]
call fcn.010059fb
push 0xe
jmp 0x100454c
push dword [ebp - 0x2130]
push esi
push eax
call fcn.01002da9
test eax, eax
jge 0x1003b15
push 0x25
jmp 0x100378c
push dword [ebp - 0x2130]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebp - 0x2130]
lea eax, [ecx + eax*2 + 2]
push eax
push ecx
call dword [sym.imp.USER32.dll_CharPrevW]
cmp word [eax], 0x2f
je 0x1003b4e
push 0x10011f0
push esi
push dword [ebp - 0x2110]
call fcn.01002de3
test eax, eax
jl 0x1003b0e
push dword [ebp - 0x211c]
push esi
push dword [ebp - 0x2110]
call fcn.01002de3
test eax, eax
jl 0x1003b0e
add esi, esi
xor ecx, ecx
push 2
pop edx
mov eax, esi
mul edx
seto cl
mov dword [ebp - 0x2124], esi
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
mov dword [ebp - 0x2104], eax
je 0x1003ad8
mov esi, dword [sym.imp.WININET.dll_InternetCanonicalizeUrlW]
push ebx
lea eax, [ebp - 0x2124]
push eax
push dword [ebp - 0x2104]
push dword [ebp - 0x2110]
call esi
test eax, eax
jne 0x1003c55
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
mov dword [ebp - 0x2118], eax
jne 0x1003c1c
push dword [ebp - 0x2104]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp - 0x2124]
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp - 0x2104], eax
je 0x1003ad8
push ebx
lea ecx, [ebp - 0x2124]
push ecx
push eax
push dword [ebp - 0x2110]
call esi
test eax, eax
jne 0x1003c55
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x2118], eax
cmp dword [ebp - 0x2118], ebx
je 0x1003c55
push dword [ebp - 0x2110]
lea eax, [ebp - 0x210]
push 0x17
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x20fc]
call fcn.01006183
mov esi, dword [ebp - 0x2118]
jmp 0x100309a
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
push 0x100
lea eax, [ebp - 0x6e0]
push eax
push 0x12
push dword [ebp - 0x20fc]
call esi
push dword [ebp - 0x211c]
lea eax, [ebp - 0x6e0]
push eax
lea eax, [ebp - 0xee0]
push 0x400
push eax
call fcn.01002e24
add esp, 0x10
lea eax, [ebp - 0xee0]
push eax
lea ecx, [ebp - 0x20f8]
call fcn.010046c7
cmp eax, 1
je 0x10037f0
push ebx
push dword [ebp - 0x2104]
push 0x1001b10
call fcn.01006459
push 0x208
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
mov dword [ebp - 0x2120], eax
je 0x1003ad8
lea eax, [ebp - 0x20f8]
push eax
lea ecx, [ebp - 0x21a0]
call fcn.01004bcd
push eax
push ebx
push 0x104
push dword [ebp - 0x2120]
push dword [ebp - 0x2104]
push ebx
call sub.urlmon.dll_URLDownloadToCacheFileW
lea ecx, [ebp - 0x21a0]
mov dword [ebp - 0x2128], eax
call fcn.0100480d
lea ecx, [ebp - 0x20f8]
call fcn.01004681
test al, al
jne 0x10037f0
cmp dword [ebp - 0x2128], ebx
jge 0x1003d5b
push dword [ebp - 0x2104]
lea eax, [ebp - 0x210]
push 0xd
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x20fc]
call fcn.01006183
push 2
jmp 0x100454c
push ebx
push dword [ebp - 0x2120]
push 0x1001ac8
call fcn.01006459
push 0x100
lea eax, [ebp - 0x6e0]
push eax
push 0x13
push dword [ebp - 0x20fc]
call esi
push dword [ebp - 0x211c]
lea eax, [ebp - 0x6e0]
push eax
lea eax, [ebp - 0xee0]
push 0x400
push eax
call fcn.01002e24
add esp, 0x10
lea eax, [ebp - 0xee0]
push eax
lea ecx, [ebp - 0x20f8]
call fcn.010046c7
cmp eax, 1
lea ecx, [ebp - 0x20f8]
je 0x10037f6
call fcn.01004671
push eax
push dword [ebp - 0x2120]
lea eax, [ebp - 0x4e0]
push eax
call fcn.0100688a
cmp eax, ebx
jne 0x1003e07
push 0x15
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x20fc]
call fcn.010058eb
push 0x78
jmp 0x100454c
cmp eax, 2
jne 0x1003ff0
push dword [ebp - 0x2104]
lea eax, [ebp - 0x210]
push 0x16
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x20fc]
call fcn.01006183
push 4
jmp 0x100454c
push dword [ebp - 0x211c]
call esi
lea ecx, [ebp - 0x4e0]
push ecx
mov dword [ebp - 0x2128], eax
call esi
mov ecx, dword [ebp - 0x2128]
lea esi, [ecx + eax + 2]
xor ecx, ecx
push 2
pop edx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
mov dword [ebp - 0x2110], eax
je 0x1003ad8
lea eax, [ebp - 0x2154]
push eax
push dword [ebp - 0x2110]
lea eax, [ebp - 0x4e0]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
test eax, eax
jne 0x1003ed5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [ebp - 0x2110]
mov esi, eax
push 0x17
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x20fc]
call fcn.01006183
jmp 0x100309a
mov eax, dword [ebp - 0x2154]
cmp eax, ebx
je 0x1003ee2
mov word [eax], bx
push dword [ebp - 0x211c]
push esi
push dword [ebp - 0x2110]
call fcn.01002de3
test eax, eax
jl 0x1003b0e
add esi, esi
xor ecx, ecx
push 2
pop edx
mov eax, esi
mul edx
seto cl
mov dword [ebp - 0x2124], esi
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
mov dword [ebp - 0x2104], eax
je 0x1003ad8
lea eax, [ebp - 0x2154]
push eax
push dword [ebp - 0x2104]
push dword [ebp - 0x2124]
push dword [ebp - 0x2110]
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov esi, eax
cmp esi, dword [ebp - 0x2124]
jbe 0x1003faa
push dword [ebp - 0x2104]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
xor ecx, ecx
push 2
pop edx
mov eax, esi
mul edx
seto cl
mov dword [ebp - 0x2124], esi
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp - 0x2104], eax
je 0x1003ad8
lea eax, [ebp - 0x2154]
push eax
push dword [ebp - 0x2104]
push dword [ebp - 0x2124]
push dword [ebp - 0x2110]
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov esi, eax
cmp esi, ebx
jne 0x1003fdb
push dword [ebp - 0x2110]
lea eax, [ebp - 0x210]
push 0x17
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x20fc]
call fcn.01006183
xor esi, esi
jmp 0x100309a
push dword [ebp - 0x2104]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1003d2e
push ebx
lea eax, [ebp - 0x2108]
push eax
push 0x1001aac
push dword [ebp - 0x20fc]
call fcn.010065c5
cmp eax, 0xe
je 0x1003ad8
cmp eax, ebx
je 0x100402f
cmp dword [ebp - 0x2108], ebx
je 0x1004029
push dword [ebp - 0x2108]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
mov dword [ebp - 0x2108], ebx
lea ecx, [ebp - 0x20f8]
call fcn.01004631
push 0x1001a9c
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
cmp esi, ebx
mov dword [ebp - 0x2140], esi
je 0x100451c
push 0x1001a88
push esi
call edi
push 0x1001a74
push esi
mov dword [ebp - 0x216c], eax
call edi
push 0x1001a64
push esi
mov dword [ebp - 0x2128], eax
call edi
push 0x1001a4c
push esi
mov dword [ebp - 0x2118], eax
call edi
push 0x1001a34
push esi
mov dword [ebp - 0x2184], eax
call edi
push 0x1001a20
push esi
mov dword [ebp - 0x2170], eax
call edi
push 0x1001a08
push esi
mov dword [ebp - 0x2190], eax
call edi
push 0x10019f8
push esi
mov dword [ebp - 0x217c], eax
call edi
push 0x10019e8
push esi
mov dword [ebp - 0x2180], eax
call edi
push 0x10019d4
push esi
mov dword [ebp - 0x2174], eax
call edi
push 0x10019c4
push esi
mov dword [ebp - 0x2178], eax
call edi
cmp dword [ebp - 0x216c], ebx
mov edi, eax
je 0x100451c
cmp dword [ebp - 0x2128], ebx
je 0x100451c
cmp dword [ebp - 0x2118], ebx
je 0x100451c
cmp dword [ebp - 0x2184], ebx
je 0x100451c
cmp dword [ebp - 0x2170], ebx
je 0x100451c
cmp dword [ebp - 0x217c], ebx
je 0x100451c
cmp dword [ebp - 0x2180], ebx
je 0x100451c
cmp dword [ebp - 0x2174], ebx
je 0x100451c
cmp dword [ebp - 0x2178], ebx
je 0x100451c
cmp edi, ebx
je 0x100451c
push ebx
push ebx
push 0x1001968
call fcn.01006459
push ebx
push 5
call dword [ebp - 0x216c]
cmp byte [ebp - 0x2144], bl
jne 0x10043d8
push ebx
push dword [ebp - 0x2104]
push 0x10018f0
call fcn.01006459
mov eax, dword [ebp - 0x2108]
cmp eax, ebx
jne 0x10041a0
mov eax, 0x10018e0
push ebx
push eax
push 0x10018ac
call fcn.01006459
cmp byte [ebp - 0x20fd], bl
je 0x10042ef
mov eax, dword [ebp - 0x2120]
cmp eax, ebx
jne 0x10041c8
mov eax, dword [ebp - 0x2104]
lea ecx, [ebp - 0x2158]
push ecx
push ebx
push eax
call dword [ebp - 0x2190]
test eax, eax
jne 0x100428e
lea eax, [ebp - 0x213c]
push eax
push 0x1001300
push dword [ebp - 0x2158]
call dword [ebp - 0x217c]
test eax, eax
jne 0x100428e
push ebx
push dword [ebp - 0x213c]
call dword [ebp - 0x2180]
test eax, eax
jne 0x100428e
lea eax, [ebp - 0x2148]
push eax
push dword [ebp - 0x213c]
call dword [ebp - 0x2174]
test eax, eax
jne 0x100428e
lea eax, [ebp - 0x2188]
push eax
lea eax, [ebp - 0x2d8]
push eax
push 1
push dword [ebp - 0x2148]
call dword [ebp - 0x2178]
test eax, eax
jne 0x100428e
lea eax, [ebp - 0x2d8]
push eax
call dword [ebp - 0x2170]
mov esi, eax
push esi
push 0x1001858
call fcn.0100635c
cmp esi, 1
je 0x100427a
cmp esi, 5
je 0x100427a
push ebx
lea eax, [ebp - 0x2d8]
push eax
push 0x10017b8
jmp 0x1004295
push ebx
lea eax, [ebp - 0x2d8]
push eax
push 0x1001700
call fcn.01006459
jmp 0x10042a0
push ebx
push ebx
push 0x1001668
call fcn.01006459
mov byte [ebp - 0x20fd], bl
cmp dword [ebp - 0x2158], ebx
je 0x10042b0
push dword [ebp - 0x2158]
call edi
cmp dword [ebp - 0x213c], ebx
je 0x10042c0
push dword [ebp - 0x213c]
call edi
cmp dword [ebp - 0x2148], ebx
je 0x10042d0
push dword [ebp - 0x2148]
call edi
cmp byte [ebp - 0x20fd], bl
je 0x10042ef
cmp dword [ebp - 0x2108], ebx
jne 0x10042f7
push 0x10012a0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
jmp 0x1004301
cmp dword [ebp - 0x2108], ebx
je 0x10042ff
push dword [ebp - 0x2108]
jmp 0x10042e5
mov esi, ebx
cmp dword [ebp - 0x2150], 3
jne 0x1004317
push 0x10012e4
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add esi, eax
xor ecx, ecx
push 2
lea edi, [esi + 1]
pop edx
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
cmp esi, ebx
pop ecx
je 0x1003ad8
cmp byte [ebp - 0x20fd], bl
je 0x1004360
cmp dword [ebp - 0x2108], ebx
jne 0x1004368
push 0x10012a0
push edi
push esi
call fcn.01002da9
test eax, eax
jge 0x1004373
jmp 0x1003b0e
cmp dword [ebp - 0x2108], ebx
je 0x1004370
push dword [ebp - 0x2108]
jmp 0x1004350
mov word [esi], bx
cmp dword [ebp - 0x2150], 3
jne 0x1004390
push 0x10012e4
push edi
push esi
call fcn.01002de3
test eax, eax
jl 0x1003b0e
push esi
push dword [ebp - 0x2104]
call dword [ebp - 0x2128]
mov esi, eax
cmp esi, ebx
je 0x10043c8
push esi
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x2140]
push dword [ebp - 0x20fc]
call fcn.0100626e
push esi
push 0x1001618
call fcn.0100635c
jmp 0x100309a
cmp dword [ebp - 0x2108], ebx
jne 0x100443f
cmp byte [ebp - 0x20fd], bl
je 0x100443f
push ebx
mov esi, 0x1001258
push esi
push 0x1001558
call fcn.01006459
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
call edi
xor ecx, ecx
push 2
inc eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
mov dword [ebp - 0x2108], eax
je 0x1003ad8
push esi
push esi
call edi
inc eax
push eax
push dword [ebp - 0x2108]
call fcn.01002da9
test eax, eax
jl 0x1003b0e
cmp dword [ebp - 0x2150], 3
push ebx
jne 0x100449b
push dword [ebp - 0x2120]
push 0x10014e8
call fcn.01006459
push ebx
push dword [ebp - 0x2164]
push 0x1001458
call fcn.01006459
mov eax, dword [ebp - 0x2108]
cmp eax, ebx
jne 0x1004479
mov eax, 0x10018e0
push ebx
push eax
push 0x10018ac
call fcn.01006459
push dword [ebp - 0x2108]
push 1
push dword [ebp - 0x2164]
push dword [ebp - 0x2120]
jmp 0x10044e0
push dword [ebp - 0x2104]
push 0x10014e8
call fcn.01006459
push ebx
push ebx
push 0x10013c8
call fcn.01006459
mov eax, dword [ebp - 0x2108]
cmp eax, ebx
jne 0x10044c6
mov eax, 0x10018e0
push ebx
push eax
push 0x10018ac
call fcn.01006459
push dword [ebp - 0x2108]
push ebx
push ebx
push dword [ebp - 0x2104]
call dword [ebp - 0x2118]
mov esi, eax
cmp esi, ebx
je 0x1004511
push esi
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x2140]
push dword [ebp - 0x20fc]
call fcn.0100626e
push esi
push 0x1001380
jmp 0x10043ce
push 0x1d
jmp 0x100378c
push eax
push dword [ebp - 0x2134]
lea eax, [ebp - 0x210]
push 0x19
push eax
lea ecx, [ebp - 0x20f8]
call fcn.01004671
push eax
push dword [ebp - 0x20fc]
call fcn.01005ff8
push 0x57
pop esi
jmp 0x100309a