Function at 0x4330f7
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c4faf
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x5d44
call fcn.00506f00
mov eax, dword [0x67e2d4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
mov dword [ebp - 0x5ca8], ebx
and dword [ebp - 0x5c84], 0
lea eax, [ebp - 0x854]
mov edi, 0x800
mov dword [ebp - 0x5ca4], ebx
push edi
xorps xmm0, xmm0
mov dword [ebp - 0x5c88], 1
push 0
push eax
movlpd qword [ebp - 0x5c74], xmm0
call fcn.0056b050
lea esi, [ebx + 0x1254]
push esi
lea eax, [ebp - 0x854]
push 0x5ed8d4
push eax
call fcn.00436927
push edi
lea eax, [ebp - 0x1054]
push 0
push eax
call fcn.0056b050
push esi
lea eax, [ebp - 0x1054]
push 0x5ed8f8
push eax
call fcn.00436927
push esi
call fcn.0042ea00
add esp, 0x34
test al, al
je 0x433272
push esi
call fcn.0042f36d
pop ecx
cmp eax, dword [ebx + 0x25b0]
jne 0x433272
cmp edx, dword [ebx + 0x25b4]
jne 0x433272
lea eax, [ebp - 0x1054]
push eax
call fcn.0059ca5b
pop ecx
xor eax, eax
mov ecx, ebx
push eax
push dword [ebx + 0x25b4]
push dword [ebx + 0x25b0]
push eax
push eax
push 5
call fcn.00434df0
test eax, eax
je 0x43326a
xor eax, eax
cmp dword [ebx + 0x24c4], eax
jne 0x43326a
cmp dword [ebx + 0x210], eax
je 0x43324e
lea eax, [ebx + 0x2254]
push eax
sub esp, 0xe4
lea eax, [ebx + 0x2358]
mov ecx, esp
push eax
call fcn.0042cb10
lea eax, [ebx + 0x1a54]
mov ecx, 0x6822b8
push eax
push esi
lea eax, [ebx + 0x254]
push eax
lea eax, [ebx + 0x214]
push eax
call fcn.0042e300
jmp 0x43326a
push 0x5ed988
push dword [ebx + 0x25b4]
mov ecx, ebx
push dword [ebx + 0x25b0]
push eax
push eax
push 9
call fcn.00434df0
xor eax, eax
inc eax
jmp 0x433d44
xor eax, eax
mov esi, eax
mov dword [ebp - 0x5c7c], eax
mov dword [ebp - 0x5c78], eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x854]
push eax
mov dword [ebp - 0x5c90], esi
call fcn.0042ea00
pop ecx
test al, al
je 0x433373
lea ecx, [ebp - 0x5d1c]
call fcn.0042ca3a
push esi
lea eax, [ebp - 0x1054]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x5d1c]
call fcn.00434006
test eax, eax
je 0x43333a
cmp dword [ebx + 0x25a4], esi
je 0x43333a
mov edi, 0x5c0
lea eax, [ebp - 0x3c2c]
push edi
push esi
push eax
call fcn.0056b050
add esp, 0xc
lea eax, [ebp - 0x3c2c]
lea ecx, [ebp - 0x5d1c]
push edi
push eax
call fcn.00434452
cmp eax, edi
jne 0x433320
mov eax, dword [ebp - 0x3b2c]
cmp eax, dword [ebx + 0x25b0]
jne 0x433320
mov eax, dword [ebp - 0x3b28]
cmp eax, dword [ebx + 0x25b4]
jne 0x433320
cmp dword [ebp - 0x3b24], 1
jle 0x43332d
lea eax, [ebp - 0x854]
push eax
call fcn.0059ca5b
pop ecx
lea ecx, [ebp - 0x5d1c]
call fcn.0042e63e
jmp 0x433347
lea eax, [ebp - 0x854]
push eax
call fcn.0059ca5b
pop ecx
lea eax, [ebp - 0x854]
push eax
call fcn.0042f36d
pop ecx
mov edi, eax
mov dword [ebp - 0x5c70], edx
lea ecx, [ebp - 0x5d1c]
mov dword [ebp - 0x5c74], edi
mov byte [ebp - 4], 0
call fcn.0042d77e
jmp 0x433379
mov edi, dword [ebp - 0x5c74]
mov eax, dword [ebp - 0x5c88]
test eax, eax
je 0x433d1b
push 0x2040
lea eax, [ebp - 0x5c6c]
push 0
push eax
call fcn.0056b050
push 0x38
lea eax, [ebp - 0x5ce0]
push 0
push eax
call fcn.0056b050
lea eax, [ebp - 0x444c]
mov dword [ebp - 0x5ce4], 0x3c
mov dword [ebp - 0x5cb0], eax
add esp, 0x18
lea eax, [ebp - 0x586c]
mov dword [ebp - 0x5cd4], eax
lea eax, [ebp - 0x506c]
mov dword [ebp - 0x5cc0], eax
lea eax, [ebp - 0x5c6c]
mov dword [ebp - 0x5ce0], eax
lea eax, [ebp - 0x4c6c]
mov dword [ebp - 0x5cb8], eax
lea eax, [ebp - 0x546c]
mov dword [ebp - 0x5cc8], eax
mov eax, 0x200
mov dword [ebp - 0x5cc4], eax
mov dword [ebp - 0x5cb4], eax
mov dword [ebp - 0x5cdc], eax
mov dword [ebp - 0x5cbc], eax
mov dword [ebp - 0x5cd0], eax
mov dword [ebp - 0x5cac], eax
lea eax, [ebp - 0x5ce4]
push eax
push 0
push 0
push dword [ebx + 0x25a0]
call dword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
je 0x433c8e
push 0xa
pop edx
mov dword [ebp - 0x5c8c], edx
xor eax, eax
cmp edx, 2
setle al
push eax
push 0x5edb8c
call fcn.00433e21
pop ecx
pop ecx
push 0xc8
mov dword [ebp - 0x5c7c], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x5c7c]
test eax, eax
jne 0x43349d
mov edx, dword [ebp - 0x5c8c]
mov ecx, edx
dec edx
mov dword [ebp - 0x5c8c], edx
test ecx, ecx
jne 0x433450
push 0x5ee594
jmp 0x433c6d
mov ecx, 0x7530
push ecx
push ecx
push 0xea60
push 0x3a98
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
movzx eax, word [ebp - 0x5ccc]
push 0
push eax
push dword [ebp - 0x5cd4]
push dword [ebp - 0x5c7c]
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov dword [ebp - 0x5c78], eax
push 0xa
pop edx
test eax, eax
jne 0x433533
mov ecx, edx
dec edx
mov dword [ebp - 0x5c80], edx
test ecx, ecx
je 0x433525
movzx eax, word [ebp - 0x5ccc]
push 0
push eax
push dword [ebp - 0x5cd4]
push dword [ebp - 0x5c7c]
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
push 0x64
mov dword [ebp - 0x5c78], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x5c78]
mov edx, dword [ebp - 0x5c80]
test eax, eax
je 0x4334de
test eax, eax
jne 0x433533
push 0x5ee554
jmp 0x433c6d
xor eax, eax
mov ecx, 0x1bb
cmp word [ebp - 0x5ccc], cx
sete al
push eax
push 1
push 0
push 0x5edc3c
push dword [ebp - 0x5cb0]
push dword [ebp - 0x5cb8]
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push eax
push dword [ebp - 0x5c78]
call fcn.004340da
add esp, 0x18
mov esi, eax
mov dword [ebp - 0x5c90], esi
push 0xa
pop eax
jmp 0x4335db
mov ecx, eax
dec eax
mov dword [ebp - 0x5c80], eax
test ecx, ecx
je 0x4335df
xor eax, eax
mov ecx, 0x1bb
cmp word [ebp - 0x5ccc], cx
sete al
push eax
push 1
push 0
push 0x5edc60
push dword [ebp - 0x5cb0]
push dword [ebp - 0x5cb8]
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push eax
push dword [ebp - 0x5c78]
call fcn.004340da
add esp, 0x18
mov esi, eax
mov dword [ebp - 0x5c90], esi
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x5c80]
test esi, esi
je 0x43357c
test esi, esi
je 0x433c68
push 0
push edi
push esi
call fcn.00435318
push 0x618
lea eax, [ebp - 0x166c]
push 0
push eax
call fcn.0056b050
lea eax, [ebp - 0x166c]
push 0x5edcc8
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0x166c]
push eax
push esi
call fcn.0042e227
add esp, 0x28
cmp dword [ebp - 0x5c84], 0
jne 0x43364a
push 0x5edd68
push dword [ebx + 0x25b4]
push dword [ebx + 0x25b0]
push dword [ebp - 0x5c70]
push edi
push 2
jmp 0x433689
xor eax, eax
lea edi, [ebp - 0x52]
push 7
mov word [ebp - 0x54], ax
pop ecx
rep stosd dword es:[edi], eax
push str.0MB_s
stosw word es:[edi], ax
lea eax, [ebp - 0x54]
push eax
call fcn.00436927
mov edi, dword [ebp - 0x5c74]
lea eax, [ebp - 0x54]
pop ecx
pop ecx
push eax
push dword [ebx + 0x25b4]
push dword [ebx + 0x25b0]
push dword [ebp - 0x5c70]
push edi
push 4
mov ecx, ebx
call fcn.00434df0
push esi
call fcn.00434f26
pop ecx
test eax, eax
je 0x433c20
and dword [ebp - 0x5c88], 0
push esi
call fcn.004308fb
pop ecx
cmp eax, 0xc8
je 0x4336c7
cmp eax, 0xce
je 0x4336c7
and dword [ebp - 0x5c88], 0
jmp 0x433ba9
lea ecx, [ebp - 0x5d1c]
call fcn.0042ca3a
push 0
lea eax, [ebp - 0x854]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x5d1c]
call fcn.00434006
test eax, eax
je 0x433b79
lea ecx, [ebp - 0x5d54]
call fcn.0042ca3a
push 1
lea eax, [ebp - 0x1054]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x5d54]
call fcn.00434006
test eax, eax
je 0x433b3d
push 0x5c0
lea eax, [ebp - 0x3c2c]
push 0
push eax
call fcn.0056b050
add esp, 0xc
lea eax, [ebx + 0x214]
push eax
lea eax, [ebp - 0x3c2c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [ebx + 0x25b0]
lea ecx, [ebp - 0x5d54]
mov dword [ebp - 0x3b2c], eax
mov eax, dword [ebx + 0x25b4]
mov dword [ebp - 0x3b28], eax
lea eax, [ebp - 0x3c2c]
push 0x5c0
push eax
call fcn.0043603b
lea ecx, [ebp - 0x5d54]
call fcn.0042e63e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
and dword [ebp - 0x5c94], 0
xorps xmm0, xmm0
push 0x2000
mov dword [ebp - 0x5c80], eax
lea eax, [ebp - 0x366c]
push 0
push eax
movlpd qword [ebp - 0x5c9c], xmm0
call fcn.0056b050
mov edx, dword [ebp - 0x5c98]
add esp, 0xc
mov ecx, dword [ebp - 0x5c9c]
mov dword [ebp - 0x5c8c], edx
mov dword [ebp - 0x5c84], ecx
mov ecx, ebx
call fcn.00430f82
test eax, eax
je 0x4339e8
mov eax, dword [ebp - 0x5c70]
cmp eax, dword [ebx + 0x25b4]
ja 0x4339e8
jb 0x4337fc
cmp edi, dword [ebx + 0x25b0]
jae 0x4339e8
lea eax, [ebp - 0x5c94]
push eax
push 0x2000
lea eax, [ebp - 0x366c]
push eax
push esi
call fcn.004344b0
add esp, 0x10
test eax, eax
je 0x4339de
push dword [ebp - 0x5c94]
lea eax, [ebp - 0x366c]
push eax
lea ecx, [ebp - 0x5d1c]
call fcn.0043603b
push 0x2000
lea eax, [ebp - 0x366c]
push 0
push eax
call fcn.0056b050
add esp, 0xc
mov eax, 0x2000
add edi, dword [ebp - 0x5c94]
mov dword [ebp - 0x5c74], edi
adc dword [ebp - 0x5c70], 0
add dword [ebp - 0x5c84], eax
mov dword [ebp - 0x5c94], eax
adc dword [ebp - 0x5c8c], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x5c80]
push 0
pop ecx
sbb ecx, ecx
mov dword [ebp - 0x5c98], eax
mov dword [ebp - 0x5ca0], ecx
test ecx, ecx
jg 0x4338c7
jl 0x4338a0
test eax, eax
jae 0x4338b2
add eax, 0xffffffff
mov dword [ebp - 0x5c98], eax
adc ecx, 0
mov dword [ebp - 0x5ca0], ecx
test ecx, ecx
jl 0x4337cd
jg 0x4338c7
cmp eax, 0x3e8
jb 0x4337cd
mov edx, dword [ebp - 0x5c8c]
mov ecx, dword [ebp - 0x5c84]
call fcn.005076f0
mov edx, dword [ebp - 0x5ca0]
mov ecx, dword [ebp - 0x5c98]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x5f1f38]
movss dword [ebp - 0x5c80], xmm0
call fcn.00507730
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp - 0x5c80]
divss xmm0, xmm1
call fcn.005073ef
mov ebx, eax
mov esi, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x5c80], eax
lea edi, [ebp - 0x32]
xor eax, eax
xorps xmm0, xmm0
push 7
mov word [ebp - 0x34], ax
mov edx, esi
pop ecx
rep stosd dword es:[edi], eax
mov ecx, ebx
movlpd qword [ebp - 0x5c9c], xmm0
stosw word es:[edi], ax
call fcn.005076f0
cvtsd2ss xmm0, xmm0
push ecx
lea eax, [ebp - 0x34]
push ecx
mulss xmm0, dword [0x5f1f20]
cvtss2sd xmm0, xmm0
comisd xmm0, xmmword [0x5f1f30]
jb 0x43397c
mulsd xmm0, qword [0x5f1f28]
movsd qword [esp], xmm0
push str._.1fMB_s
jmp 0x433986
movsd qword [esp], xmm0
push str._.1fKB_s
push eax
call fcn.00436927
mov ebx, dword [ebp - 0x5ca8]
lea eax, [ebp - 0x34]
mov edi, dword [ebp - 0x5c74]
add esp, 0x10
mov ecx, ebx
push eax
push dword [ebx + 0x25b4]
push dword [ebx + 0x25b0]
push dword [ebp - 0x5c70]
push edi
push 4
call fcn.00434df0
mov eax, dword [ebp - 0x5c98]
mov esi, dword [ebp - 0x5c90]
mov dword [ebp - 0x5c8c], eax
mov eax, dword [ebp - 0x5c9c]
mov dword [ebp - 0x5c84], eax
jmp 0x4337cd
mov dword [ebp - 0x5c88], 1
lea ecx, [ebp - 0x5d1c]
call fcn.0042e63e
mov edx, dword [ebx + 0x25b0]
mov ecx, dword [ebx + 0x25b4]
mov eax, dword [ebp - 0x5c70]
cmp edi, edx
jne 0x433ad6
cmp eax, ecx
jne 0x433ad6
lea eax, [ebp - 0x1054]
push eax
call fcn.0059ca5b
pop ecx
push 3
lea eax, [ebx + 0x1254]
push eax
lea eax, [ebp - 0x854]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
push 0x5ee2b8
push dword [ebx + 0x25b4]
mov ecx, ebx
push dword [ebx + 0x25b0]
push dword [ebp - 0x5c70]
push edi
push 5
call fcn.00434df0
test eax, eax
je 0x433b30
cmp dword [ebx + 0x24c4], 0
jne 0x433b30
cmp dword [ebx + 0x210], 0
je 0x433aba
lea eax, [ebx + 0x2254]
push eax
sub esp, 0xe4
lea eax, [ebx + 0x2358]
mov ecx, esp
push eax
call fcn.0042cb10
lea eax, [ebx + 0x1a54]
mov ecx, 0x6822b8
push eax
lea eax, [ebx + 0x1254]
push eax
lea eax, [ebx + 0x254]
push eax
lea eax, [ebx + 0x214]
push eax
call fcn.0042e300
jmp 0x433b30
push 0x5ee3b8
push dword [ebx + 0x25b4]
push dword [ebx + 0x25b0]
push dword [ebp - 0x5c70]
push edi
push 9
jmp 0x433b29
cmp dword [ebx + 0x24c0], 0
je 0x433aec
push 0x5ee424
push ecx
push edx
push eax
push edi
push 7
jmp 0x433b29
cmp dword [ebx + 0x24b8], 0
je 0x433b30
lea eax, [ebp - 0x854]
push eax
call fcn.0059ca5b
lea eax, [ebp - 0x1054]
push eax
call fcn.0059ca5b
pop ecx
pop ecx
push 0x5ee494
push dword [ebx + 0x25b4]
push dword [ebx + 0x25b0]
push dword [ebp - 0x5c70]
push edi
push 6
mov ecx, ebx
call fcn.00434df0
lea ecx, [ebp - 0x5d54]
call fcn.0042d77e
jmp 0x433b9a
push 0x5edfbc
push dword [ebx + 0x25b4]
mov ecx, ebx
push dword [ebx + 0x25b0]
push dword [ebp - 0x5c70]
push edi
push 0x20
call fcn.00434df0
lea ecx, [ebp - 0x5d54]
call fcn.0042d77e
lea ecx, [ebp - 0x5d1c]
call fcn.0042d77e
jmp 0x433d42
push 0x5ee4c4
push dword [ebx + 0x25b4]
mov ecx, ebx
push dword [ebx + 0x25b0]
push dword [ebp - 0x5c70]
push edi
push 0x20
call fcn.00434df0
lea ecx, [ebp - 0x5d1c]
mov byte [ebp - 4], 0
call fcn.0042d77e
test esi, esi
je 0x433bbc
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor esi, esi
mov dword [ebp - 0x5c90], esi
mov eax, dword [ebp - 0x5c78]
test eax, eax
je 0x433bd5
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor eax, eax
mov dword [ebp - 0x5c78], eax
mov eax, dword [ebp - 0x5c7c]
test eax, eax
je 0x433bee
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor eax, eax
mov dword [ebp - 0x5c7c], eax
mov eax, dword [ebp - 0x5c88]
test eax, eax
je 0x433c14
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x5c88]
mov dword [ebp - 0x5c84], eax
jmp 0x43337f
and dword [ebp - 0x5c84], 0
jmp 0x43337f
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov eax, dword [ebp - 0x5c78]
xor esi, esi
mov dword [ebp - 0x5c90], esi
test eax, eax
je 0x433c51
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
and dword [ebp - 0x5c78], esi
push dword [ebp - 0x5c7c]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
and dword [ebp - 0x5c7c], esi
jmp 0x433379
push 0x5ee52c
push dword [ebx + 0x25b4]
mov ecx, ebx
push dword [ebx + 0x25b0]
push dword [ebp - 0x5c70]
push edi
push 0x20
call fcn.00434df0
jmp 0x433d1b
push 0x5ee5cc
jmp 0x433c6d
mov ebx, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
test esi, esi
je 0x433d28
push esi
call ebx
mov eax, dword [ebp - 0x5c78]
test eax, eax
je 0x433d35
push eax
call ebx
mov eax, dword [ebp - 0x5c7c]
test eax, eax
je 0x433d42
push eax
call ebx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00506d7f
mov esp, ebp
pop ebp
ret