Function at 0x42c5a0
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x4ab417
mov eax, dword fs:[0]
push eax
sub esp, 0x408
mov eax, dword [0x4d62b0]
xor eax, esp
mov dword [esp + 0x400], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d62b0]
xor eax, esp
push eax
lea eax, [esp + 0x41c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x42c]
xor esi, esi
push 0x206
lea eax, [esp + 0x212]
push esi
push eax
mov dword [ebp + 0x990], 5
mov word [esp + 0x218], si
call int.0048bd10
add esp, 0xc
lea ecx, [esp + 0x24]
push ecx
mov ecx, 0x4b9658
call fcn.0040b6b0
mov dword [esp + 0x424], esi
mov edx, dword [0x4da734]
mov eax, dword [edx + 0xc]
mov ecx, 0x4da734
call eax
add eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0x424], 1
cmp dword [ebp + 0x408], esi
je 0x42c65a
push 0x4b9658
lea ebx, [esi + 0x29]
lea eax, [esp + 0x28]
call fcn.0040cfc0
mov eax, dword [ebp + 0x440]
lea ecx, [esp + 0x20c]
push ecx
push 0
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
lea eax, [esp + 0x20c]
lea ecx, [eax + 2]
lea ecx, [ecx]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x42c680
sub eax, ecx
sar eax, 1
lea edx, [esp + 0x20c]
mov ebx, eax
push edx
lea eax, [esp + 0x20]
call fcn.0040cfc0
mov eax, dword [ebp + 0x490]
push ecx
sub eax, 0x10
mov dword [ebp + 0x4e8], 2
mov dword [esp + 0x1c], esp
mov esi, esp
call fcn.0040d0b0
add eax, 0x10
mov dword [esi], eax
mov esi, ebp
call fcn.00434c50
lea esi, [ebp + 0x498]
lea ebx, [esp + 0x1c]
call fcn.00439db0
mov eax, dword [ebp]
mov edx, dword [eax + 0x80]
mov ecx, ebp
call edx
mov eax, dword [ebp]
mov edx, dword [eax + 0xb4]
push 0
push 0
mov ecx, ebp
call edx
lea eax, [esp + 0x18]
lea esi, [ebp + 0x428]
mov ebx, 5
push eax
mov ecx, esi
mov dword [esp + 0x1c], ebx
call fcn.0043a300
mov edi, eax
add edi, 0x70
lea eax, [esp + 0x24]
call fcn.0040c900
lea ecx, [esp + 0x18]
push ecx
mov ecx, esi
mov dword [esp + 0x1c], ebx
call fcn.0043a300
mov edi, eax
add edi, 0x48
lea eax, [esp + 0x1c]
call fcn.0040c900
lea eax, [esp + 0x84]
call fcn.0041b820
lea edx, [esp + 0x18]
mov byte [esp + 0x424], 2
push edx
mov ecx, esi
mov dword [esp + 0x1c], ebx
call fcn.0043a300
mov ecx, dword [eax + 0x70]
add eax, 0x70
mov eax, ecx
lea edx, [eax + 2]
xor edi, edi
mov si, word [eax]
add eax, 2
cmp si, di
jne 0x42c772
sub eax, edx
sar eax, 1
push eax
push ecx
lea esi, [esp + 0x8c]
call fcn.0043d0d0
lea eax, [esp + 0x18]
push eax
lea ecx, [ebp + 0x428]
mov dword [esp + 0x1c], ebx
call fcn.0043a300
mov ecx, dword [eax + 0x48]
add eax, 0x48
mov eax, ecx
lea esi, [eax + 2]
mov edi, edi
mov dx, word [eax]
add eax, 2
cmp dx, di
jne 0x42c7b0
sub eax, esi
sar eax, 1
push eax
push ecx
lea esi, [esp + 0xa8]
call fcn.0043d0d0
cmp dword [ebp + 0x408], edi
mov dword [esp + 0x144], edi
mov dword [esp + 0x148], edi
je 0x42c7ee
mov dword [esp + 0x13c], 1
lea ecx, [esp + 0x18]
push ecx
lea esi, [ebp + 0x428]
mov ecx, esi
mov dword [esp + 0x1c], ebx
call fcn.0043a300
add dword [eax + 0x10], 1
lea edx, [esp + 0x18]
add eax, 0x10
push edx
mov ecx, esi
mov dword [esp + 0x1c], ebx
call fcn.0043a300
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [eax + 4], 0
mov dword [esp + 0x18], ebx
call edi
mov ebx, eax
lea eax, [esp + 0x18]
push eax
mov ecx, esi
call fcn.0043a300
mov dword [eax + 0x1c], ebx
mov dword [ebp + 0x404], 0x6b
call edi
xor edx, edx
mov ecx, 0xa
div ecx
mov ecx, esi
mov dword [esp + 0x18], 5
mov edi, edx
lea edx, [esp + 0x18]
add edi, 1
push edx
mov dword [esp + 0x24], edi
call fcn.0043a300
mov dword [eax + 0xc], edi
cmp dword [esp + 0xb8], 8
mov ecx, dword [esp + 0xa4]
jae 0x42c88c
lea ecx, [esp + 0xa4]
mov eax, dword [esp + 0x88]
mov esi, 8
cmp dword [esp + 0x9c], esi
jae 0x42c8a8
lea eax, [esp + 0x88]
xor edi, edi
push edi
push edi
push ecx
push eax
push edi
call fcn.004a2efa
cmp eax, edi
jne 0x42c90b
cmp dword [esp + 0xb8], esi
mov ecx, dword [esp + 0xa4]
jae 0x42c8cf
lea ecx, [esp + 0xa4]
cmp dword [esp + 0x9c], esi
mov eax, dword [esp + 0x88]
jae 0x42c8e6
lea eax, [esp + 0x88]
mov esi, dword [esp + 0x20]
push ecx
push eax
push esi
push 0x4b9718
push 0x4b7e18
call fcn.00474370
push eax
call fcn.004743e0
add esp, 0x18
push edi
jmp 0x42cf08
cmp dword [esp + 0xb8], esi
mov edx, dword [esp + 0xa4]
jae 0x42c922
lea edx, [esp + 0xa4]
cmp dword [esp + 0x9c], esi
mov ecx, dword [esp + 0x88]
jae 0x42c939
lea ecx, [esp + 0x88]
push edx
push ecx
mov ecx, dword [esp + 0x28]
push ecx
push eax
push 0x4b9718
push 0x4b7e98
call fcn.00474370
push eax
call fcn.004743e0
add esp, 0x1c
mov dword [esp + 0x80], 0xf
mov dword [esp + 0x7c], edi
mov byte [esp + 0x6c], 0
push fcn.0040bac0
push 0x4393e0
push 6
push 0x1c
lea edx, [esp + 0x174]
mov bl, 3
push edx
mov byte [esp + 0x438], bl
call fcn.00489787
push 0x38
lea eax, [esp + 0x34]
push edi
mov byte [esp + 0x42c], 4
push eax
mov dword [esp + 0x38], edi
call int.0048bd10
add esp, 0xc
lea esi, [esp + 0x164]
mov dword [esp + 0x18], 6
mov ecx, dword [esi + 0x14]
cmp ecx, 0x400
jb 0x42c9d8
or eax, 0xffffffff
mov ebx, 0x400
call fcn.0043d1a0
mov bl, 3
jmp 0x42c9e8
mov eax, 0x400
push 0
sub eax, ecx
mov edi, esi
call fcn.0043d020
add esi, 0x1c
sub dword [esp + 0x18], 1
mov edi, 8
jne 0x42c9bc
cmp dword [esp + 0x17c], edi
mov dword [esp + 0x2c], 0x3c
jb 0x42ca15
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x30], ecx
jmp 0x42ca20
lea edx, [esp + 0x168]
mov dword [esp + 0x30], edx
cmp dword [esp + 0x198], edi
mov eax, dword [esp + 0x178]
mov dword [esp + 0x34], eax
jb 0x42ca41
mov ecx, dword [esp + 0x184]
mov dword [esp + 0x3c], ecx
jmp 0x42ca4c
lea edx, [esp + 0x184]
mov dword [esp + 0x3c], edx
cmp dword [esp + 0x1b4], edi
mov eax, dword [esp + 0x194]
mov dword [esp + 0x40], eax
jb 0x42ca6d
mov ecx, dword [esp + 0x1a0]
mov dword [esp + 0x48], ecx
jmp 0x42ca78
lea edx, [esp + 0x1a0]
mov dword [esp + 0x48], edx
cmp dword [esp + 0x1d0], edi
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x4c], eax
jb 0x42ca99
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 0x50], ecx
jmp 0x42caa4
lea edx, [esp + 0x1bc]
mov dword [esp + 0x50], edx
cmp dword [esp + 0x1ec], edi
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x54], eax
jb 0x42cac5
mov ecx, dword [esp + 0x1d8]
mov dword [esp + 0x58], ecx
jmp 0x42cad0
lea edx, [esp + 0x1d8]
mov dword [esp + 0x58], edx
cmp dword [esp + 0x208], edi
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x5c], eax
jb 0x42caf1
mov ecx, dword [esp + 0x1f4]
mov dword [esp + 0x60], ecx
jmp 0x42cafc
lea edx, [esp + 0x1f4]
mov dword [esp + 0x60], edx
cmp dword [esp + 0x9c], edi
mov eax, dword [esp + 0x204]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x88]
jae 0x42cb1e
lea eax, [esp + 0x88]
mov edx, dword [esp + 0x98]
lea ecx, [esp + 0x2c]
push ecx
push 0x10000000
push edx
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
jne 0x42ccba
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [esp + 0x9c], 8
mov esi, dword [esp + 0x88]
mov edi, eax
jae 0x42cb5f
lea esi, [esp + 0x88]
test byte [0x4dbefc], 1
jne 0x42cbd4
or dword [0x4dbefc], 1
mov byte [esp + 0x424], 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
test eax, eax
jge 0x42cbb5
push eax
call fcn.00401050
push 0x4ac3b0
mov dword [0x4dbedc], 0
call fcn.0048858f
add esp, 4
mov byte [esp + 0x424], 4
push edi
push esi
push 0x4b9718
push 0x4b7f30
push 0x4dbec0
call fcn.004743e0
add esp, 0x14
push fcn.0040bac0
push 6
push 0x1c
lea eax, [esp + 0x170]
push eax
mov byte [esp + 0x434], bl
call fcn.00487c69
mov byte [esp + 0x424], 2
cmp dword [esp + 0x80], 0x10
jb 0x42cc29
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.00487c06
add esp, 4
mov edi, dword [esp + 0xa4]
mov eax, 8
cmp dword [esp + 0xb8], eax
jae 0x42cc45
lea edi, [esp + 0xa4]
cmp dword [esp + 0x9c], eax
mov esi, dword [esp + 0x88]
jae 0x42cc5c
lea esi, [esp + 0x88]
test byte [0x4dbefc], 1
jne 0x42cec7
or dword [0x4dbefc], 1
mov byte [esp + 0x424], 8
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
test eax, eax
jge 0x42cea8
push eax
call fcn.00401050
lea edx, [esp + 0x68]
push edx
push ecx
mov ecx, dword [esp + 0x60]
mov eax, esp
mov dword [esp + 0x20], esp
push eax
call fcn.0040b6b0
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
mov byte [esp + 0x430], 6
push ecx
mov ecx, dword [esp + 0x4c]
call fcn.0040b6b0
mov byte [esp + 0x430], 4
call fcn.004680b0
add esp, 0xc
test eax, eax
jne 0x42cd3a
push fcn.0040bac0
push 6
push 0x1c
lea edx, [esp + 0x170]
push edx
mov byte [esp + 0x434], bl
call fcn.00487c69
mov byte [esp + 0x424], 2
cmp dword [esp + 0x80], 0x10
jb 0x42cc29
mov eax, dword [esp + 0x6c]
push eax
jmp 0x42cc21
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x6c]
mov esi, 0x10
cmp dword [esp + 0x80], esi
push ecx
jae 0x42cd55
lea eax, [esp + 0x70]
cmp dword [esp + 0xbc], edi
mov ecx, dword [esp + 0xa8]
push eax
jae 0x42cd6d
lea ecx, [esp + 0xac]
push ecx
mov edx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.0040b6b0
call fcn.004683a0
add esp, 0xc
test eax, eax
push fcn.0040bac0
push 6
mov byte [esp + 0x42c], bl
push 0x1c
jne 0x42cdb7
lea eax, [esp + 0x170]
push eax
call fcn.00487c69
mov byte [esp + 0x424], 2
cmp dword [esp + 0x80], esi
jmp 0x42cc1a
lea edx, [esp + 0x170]
push edx
call fcn.00487c69
mov byte [esp + 0x424], 2
cmp dword [esp + 0x80], esi
jb 0x42cde2
mov eax, dword [esp + 0x6c]
push eax
call fcn.00487c06
add esp, 4
cmp dword [esp + 0xb8], edi
mov edi, dword [esp + 0xa4]
jae 0x42cdf9
lea edi, [esp + 0xa4]
cmp dword [esp + 0x9c], 8
mov esi, dword [esp + 0x88]
jae 0x42ce11
lea esi, [esp + 0x88]
test byte [0x4dbefc], 1
jne 0x42ce86
or dword [0x4dbefc], 1
mov byte [esp + 0x424], 7
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
test eax, eax
jge 0x42ce67
push eax
call fcn.00401050
push 0x4ac3b0
mov dword [0x4dbedc], 0
call fcn.0048858f
add esp, 4
mov byte [esp + 0x424], 2
push edi
push esi
mov esi, dword [esp + 0x28]
push esi
push 0x4b9718
push 0x4b7f80
push 0x4dbec0
call fcn.004743e0
add esp, 0x18
push 0
jmp 0x42cf08
push 0x4ac3b0
mov dword [0x4dbedc], 0
call fcn.0048858f
add esp, 4
mov byte [esp + 0x424], 2
push edi
push esi
mov esi, dword [esp + 0x28]
push esi
push 0x4b9718
push 0x4b8008
push 0x4dbec0
call fcn.004743e0
add esp, 0x18
lea ecx, [esp + 0x18]
push ecx
lea ecx, [ebp + 0x428]
mov dword [esp + 0x1c], 5
call fcn.0043a300
mov edx, dword [eax + 0x28]
mov dword [ebp + 0x404], edx
push 0x17
push esi
mov ebx, ebp
call fcn.00422710
lea esi, [esp + 0x84]
call fcn.00421c70
mov byte [esp + 0x424], 0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42cf44
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x424], 0xffffffff
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42cf6f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x41c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x400]
xor ecx, esp
call fcn.00488fa3
add esp, 0x414
ret 4