Function at 0x421d40
Capabilities:
Check for time delay via gettickcount
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x4aa501
mov eax, dword fs:[0]
push eax
sub esp, 0x400
mov eax, dword [0x4d62b0]
xor eax, esp
mov dword [esp + 0x3f8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d62b0]
xor eax, esp
push eax
lea eax, [esp + 0x414]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x424]
xor edi, edi
push 0x206
lea eax, [esp + 0x20a]
push edi
push eax
mov dword [esp + 0x2c], ebp
mov word [esp + 0x210], di
call int.0048bd10
mov eax, dword [ebp + 0x444]
add esp, 0xc
lea ecx, [esp + 0x204]
push ecx
push edi
push edi
push eax
mov dword [ebp + 0x990], edi
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
cmp eax, edi
jbe 0x422644
lea edx, [esp + 0x18]
lea ecx, [ebp + 0x428]
push edx
mov dword [esp + 0x1c], edi
call fcn.0043a300
lea ecx, [esp + 0x204]
add eax, 0x48
lea esi, [ecx + 2]
lea esp, [esp]
mov dx, word [ecx]
add ecx, 2
cmp dx, di
jne 0x421df0
sub ecx, esi
sar ecx, 1
lea edx, [esp + 0x204]
push edx
mov ebx, ecx
call fcn.0040cfc0
mov dword [esp + 0x18], edi
lea eax, [esp + 0x18]
lea edi, [ebp + 0x428]
push eax
mov ecx, edi
call fcn.0043a300
mov ebx, eax
add ebx, 0x48
lea esi, [ebp + 0x498]
call fcn.00439db0
lea eax, [esp + 0x7c]
call fcn.0041b820
push 0x2e
xor ebx, ebx
push 0x4b7a30
lea esi, [esp + 0x84]
mov dword [esp + 0x424], ebx
call fcn.0043d0d0
cmp dword [ebp + 0x408], ebx
je 0x421e70
push 0x85
push 0x4b7a90
call fcn.0043d0d0
cmp dword [esp + 0x94], 8
mov esi, dword [esp + 0x80]
mov dword [esp + 0x18], ebx
jae 0x421e8c
lea esi, [esp + 0x80]
lea ecx, [esp + 0x18]
push ecx
mov ecx, edi
call fcn.0043a300
add eax, 0x70
cmp esi, ebx
jne 0x421ea3
xor ecx, ecx
jmp 0x421ebf
mov ecx, esi
lea edi, [ecx + 2]
jmp 0x421eb0
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x421eb0
sub ecx, edi
sar ecx, 1
push esi
mov ebx, ecx
call fcn.0040cfc0
lea eax, [esp + 0x204]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x421ed1
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x208]
push edx
lea esi, [esp + 0xa0]
call fcn.0043d0d0
xor ebx, ebx
cmp dword [ebp + 0x408], ebx
mov dword [esp + 0x13c], ebx
mov dword [esp + 0x140], ebx
je 0x421f1f
mov dword [esp + 0x134], 1
mov dword [esp + 0x138], ebx
lea eax, [esp + 0x18]
add ebp, 0x428
push eax
mov ecx, ebp
mov dword [esp + 0x1c], ebx
call fcn.0043a300
add dword [eax + 0x10], 1
lea ecx, [esp + 0x18]
add eax, 0x10
push ecx
mov ecx, ebp
mov dword [esp + 0x1c], ebx
call fcn.0043a300
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [eax + 4], ebx
mov dword [esp + 0x18], ebx
call esi
lea edx, [esp + 0x18]
push edx
mov ecx, ebp
mov edi, eax
call fcn.0043a300
mov dword [eax + 0x1c], edi
mov eax, dword [esp + 0x20]
mov dword [eax + 0x404], 0xa
call esi
xor edx, edx
mov ecx, 0xa
div ecx
mov ecx, ebp
mov dword [esp + 0x18], ebx
mov edi, edx
lea edx, [esp + 0x18]
add edi, 1
push edx
mov dword [esp + 0x20], edi
call fcn.0043a300
mov dword [eax + 0xc], edi
cmp dword [esp + 0xb0], 8
mov ecx, dword [esp + 0x9c]
jae 0x421fb9
lea ecx, [esp + 0x9c]
mov eax, dword [esp + 0x80]
mov esi, 8
cmp dword [esp + 0x94], esi
jae 0x421fd5
lea eax, [esp + 0x80]
push ebx
push ebx
push ecx
push eax
push ebx
call fcn.004a2efa
cmp eax, ebx
jne 0x422045
cmp dword [esp + 0xb0], esi
mov ecx, dword [esp + 0x9c]
jae 0x421ffa
lea ecx, [esp + 0x9c]
cmp dword [esp + 0x94], esi
mov eax, dword [esp + 0x80]
jae 0x422011
lea eax, [esp + 0x80]
push ecx
push eax
push edi
push 0x4b7d98
push 0x4b7e18
call fcn.00474370
push eax
call fcn.004743e0
add esp, 0x18
push ebx
mov ebx, dword [esp + 0x24]
push edi
call fcn.00422710
lea esi, [esp + 0x7c]
call fcn.00421c70
jmp 0x42266a
cmp dword [esp + 0xb0], esi
mov edx, dword [esp + 0x9c]
jae 0x42205c
lea edx, [esp + 0x9c]
cmp dword [esp + 0x94], esi
mov ecx, dword [esp + 0x80]
jae 0x422073
lea ecx, [esp + 0x80]
push edx
push ecx
push edi
push eax
push 0x4b7d98
push 0x4b7e98
call fcn.00474370
push eax
call fcn.004743e0
add esp, 0x1c
mov dword [esp + 0x78], 0xf
mov dword [esp + 0x74], ebx
mov byte [esp + 0x64], bl
push fcn.0040bac0
push 0x4393e0
push 6
push 0x1c
lea eax, [esp + 0x16c]
push eax
mov byte [esp + 0x430], 1
call fcn.00489787
push 0x38
lea ecx, [esp + 0x2c]
push ebx
mov byte [esp + 0x424], 2
push ecx
mov dword [esp + 0x30], ebx
call int.0048bd10
add esp, 0xc
lea esi, [esp + 0x15c]
mov ebp, 6
mov ecx, dword [esi + 0x14]
cmp ecx, 0x400
jb 0x422106
or eax, 0xffffffff
mov ebx, 0x400
call fcn.0043d1a0
xor ebx, ebx
jmp 0x422119
mov eax, 0x400
push ebx
sub eax, ecx
mov edi, esi
call fcn.0043d020
mov edi, dword [esp + 0x1c]
add esi, 0x1c
sub ebp, 1
jne 0x4220ea
mov eax, 8
cmp dword [esp + 0x174], eax
mov dword [esp + 0x24], 0x3c
jb 0x422144
mov edx, dword [esp + 0x160]
mov dword [esp + 0x28], edx
jmp 0x42214f
lea ecx, [esp + 0x160]
mov dword [esp + 0x28], ecx
cmp dword [esp + 0x190], eax
mov edx, dword [esp + 0x170]
mov dword [esp + 0x2c], edx
jb 0x422170
mov ecx, dword [esp + 0x17c]
mov dword [esp + 0x34], ecx
jmp 0x42217b
lea edx, [esp + 0x17c]
mov dword [esp + 0x34], edx
cmp dword [esp + 0x1ac], eax
mov ecx, dword [esp + 0x18c]
mov dword [esp + 0x38], ecx
jb 0x42219c
mov edx, dword [esp + 0x198]
mov dword [esp + 0x40], edx
jmp 0x4221a7
lea ecx, [esp + 0x198]
mov dword [esp + 0x40], ecx
cmp dword [esp + 0x1c8], eax
mov edx, dword [esp + 0x1a8]
mov dword [esp + 0x44], edx
jb 0x4221c8
mov ecx, dword [esp + 0x1b4]
mov dword [esp + 0x48], ecx
jmp 0x4221d3
lea edx, [esp + 0x1b4]
mov dword [esp + 0x48], edx
cmp dword [esp + 0x1e4], eax
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 0x4c], ecx
jb 0x4221f4
mov edx, dword [esp + 0x1d0]
mov dword [esp + 0x50], edx
jmp 0x4221ff
lea ecx, [esp + 0x1d0]
mov dword [esp + 0x50], ecx
cmp dword [esp + 0x200], eax
mov edx, dword [esp + 0x1e0]
mov dword [esp + 0x54], edx
jb 0x422220
mov ecx, dword [esp + 0x1ec]
mov dword [esp + 0x58], ecx
jmp 0x42222b
lea edx, [esp + 0x1ec]
mov dword [esp + 0x58], edx
mov ecx, dword [esp + 0x1fc]
cmp dword [esp + 0x94], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x5c], ecx
jae 0x42224d
lea eax, [esp + 0x80]
mov ecx, dword [esp + 0x90]
lea edx, [esp + 0x24]
push edx
push 0x10000000
push ecx
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
cmp eax, ebx
jne 0x4223df
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [esp + 0x94], 8
mov esi, dword [esp + 0x80]
mov ebp, eax
jae 0x42228e
lea esi, [esp + 0x80]
test byte [0x4dbefc], 1
jne 0x4222ff
or dword [0x4dbefc], 1
mov byte [esp + 0x41c], 3
xor eax, eax
mov ecx, 0x4dbec4
mov dword [0x4dbec0], 0x4c3f4c
mov dword [0x4dbec4], eax
mov dword [0x4dbec8], eax
mov dword [0x4dbecc], eax
mov dword [0x4dbed0], eax
mov dword [0x4dbed4], eax
mov dword [0x4dbed8], eax
call fcn.00401170
cmp eax, ebx
jge 0x4222e4
push eax
call fcn.00401050
push 0x4ac3b0
mov dword [0x4dbedc], ebx
call fcn.0048858f
add esp, 4
mov byte [esp + 0x41c], 2
push ebp
push esi
push 0x4b7d98
push 0x4b7f30
push 0x4dbec0
call fcn.004743e0
add esp, 0x14
push fcn.0040bac0
push 6
push 0x1c
lea edx, [esp + 0x168]
push edx
mov byte [esp + 0x42c], 1
call fcn.00487c69
mov byte [esp + 0x41c], bl
cmp dword [esp + 0x78], 0x10
jb 0x422351
mov eax, dword [esp + 0x64]
push eax
call fcn.00487c06
add esp, 4
cmp dword [esp + 0xb0], 8
mov ebp, dword [esp + 0x9c]
jae 0x422369
lea ebp, [esp + 0x9c]
cmp dword [esp + 0x94], 8
mov esi, dword [esp + 0x80]
jae 0x422381
lea esi, [esp + 0x80]
test byte [0x4dbefc], 1
jne 0x4225f6
or dword [0x4dbefc], 1
mov byte [esp + 0x41c], 6
xor eax, eax
mov ecx, 0x4dbec4
mov dword [0x4dbec0], 0x4c3f4c
mov dword [0x4dbec4], eax
mov dword [0x4dbec8], eax
mov dword [0x4dbecc], eax
mov dword [0x4dbed0], eax
mov dword [0x4dbed4], eax
mov dword [0x4dbed8], eax
call fcn.00401170
cmp eax, ebx
jge 0x4225dc
push eax
call fcn.00401050
lea ecx, [esp + 0x60]
push ecx
push ecx
mov ecx, dword [esp + 0x58]
mov edx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.0040b6b0
push ecx
mov byte [esp + 0x428], 4
mov ecx, dword [esp + 0x40]
mov eax, esp
mov dword [esp + 0x24], esp
push eax
call fcn.0040b6b0
mov byte [esp + 0x428], 2
call fcn.004680b0
add esp, 0xc
cmp eax, ebx
jne 0x42245c
push fcn.0040bac0
push 6
push 0x1c
lea ecx, [esp + 0x168]
push ecx
mov byte [esp + 0x42c], 1
call fcn.00487c69
mov byte [esp + 0x41c], bl
cmp dword [esp + 0x78], 0x10
jb 0x422351
mov edx, dword [esp + 0x64]
push edx
jmp 0x422349
mov eax, dword [esp + 0x74]
mov esi, 0x10
cmp dword [esp + 0x78], esi
push eax
mov eax, dword [esp + 0x68]
jae 0x422474
lea eax, [esp + 0x68]
mov ecx, dword [esp + 0xa0]
mov ebp, 8
cmp dword [esp + 0xb4], ebp
push eax
jae 0x422491
lea ecx, [esp + 0xa4]
push ecx
mov edx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.0040b6b0
call fcn.004683a0
add esp, 0xc
cmp eax, ebx
push fcn.0040bac0
push 6
mov byte [esp + 0x424], 1
push 0x1c
jne 0x4224e3
lea eax, [esp + 0x168]
push eax
call fcn.00487c69
mov byte [esp + 0x41c], bl
cmp dword [esp + 0x78], esi
jb 0x422351
mov ecx, dword [esp + 0x64]
push ecx
jmp 0x422349
lea edx, [esp + 0x168]
push edx
call fcn.00487c69
mov byte [esp + 0x41c], bl
cmp dword [esp + 0x78], esi
jb 0x42250a
mov eax, dword [esp + 0x64]
push eax
call fcn.00487c06
add esp, 4
cmp dword [esp + 0xb0], ebp
mov ebp, dword [esp + 0x9c]
jae 0x422521
lea ebp, [esp + 0x9c]
cmp dword [esp + 0x94], 8
mov esi, dword [esp + 0x80]
jae 0x422539
lea esi, [esp + 0x80]
test byte [0x4dbefc], 1
jne 0x4225a9
or dword [0x4dbefc], 1
mov byte [esp + 0x41c], 5
xor eax, eax
mov ecx, 0x4dbec4
mov dword [0x4dbec0], 0x4c3f4c
mov dword [0x4dbec4], eax
mov dword [0x4dbec8], eax
mov dword [0x4dbecc], eax
mov dword [0x4dbed0], eax
mov dword [0x4dbed4], eax
mov dword [0x4dbed8], eax
call fcn.00401170
cmp eax, ebx
jge 0x42258f
push eax
call fcn.00401050
push 0x4ac3b0
mov dword [0x4dbedc], ebx
call fcn.0048858f
add esp, 4
mov byte [esp + 0x41c], bl
push ebp
push esi
push edi
push 0x4b7d98
push 0x4b7f80
push 0x4dbec0
call fcn.004743e0
add esp, 0x18
push ebx
mov ebx, dword [esp + 0x24]
push edi
call fcn.00422710
lea esi, [esp + 0x7c]
call fcn.00421c70
jmp 0x42266a
push 0x4ac3b0
mov dword [0x4dbedc], ebx
call fcn.0048858f
add esp, 4
mov byte [esp + 0x41c], bl
push ebp
push esi
push edi
push 0x4b7d98
push 0x4b8008
push 0x4dbec0
call fcn.004743e0
add esp, 0x18
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x20]
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [ebx + 0x428]
call fcn.0043a300
mov edx, dword [eax + 0x28]
push 0x17
push edi
mov dword [ebx + 0x404], edx
call fcn.00422710
lea esi, [esp + 0x7c]
call fcn.00421c70
jmp 0x42266a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [ebp + 0x444]
push eax
push 0x4b7d98
push 0x4b7d20
call fcn.00474370
push eax
call fcn.004743e0
add esp, 0x14
mov ecx, dword [esp + 0x414]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3f8]
xor ecx, esp
call fcn.00488fa3
add esp, 0x40c
ret 4