Function at 0x402f5c
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbc0
mov ax, word [ebp - 2]
push eax
call sub.kernel32.dll_GlobalDeleteAtom
test ax, ax
jne 0x402f97
mov byte [0x7d907c], 0x8c
lea esi, [0x7d90d6]
sub dword [esi], 2
mov dword [0x7d9081], edx
mov dword [0x7d9047], 0x116a3
sub edi, 0x7d
call fcn.00402da4
mov eax, 0x4035a4
mov dword [ebp - 8], eax
mov eax, 0x4035d0
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0x4015d8
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x1c], 0x124e2
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_CopyFileExW
test eax, eax
je 0x402fff
mov dword [0x7d90a7], eax
sub ebx, dword [0x7d90cd]
mov dword [0x7d902d], ecx
mov dword [0x7d9044], esi
call fcn.004025a8
xchg dword [0x7d909d], edi
test ch, ch
jne 0x403023
mov dword [esp - 0x1c], eax
lea edx, [0x7d90e2]
sub dword [edx], 0x4f
sub dword [0x7d901d], ebx
jmp 0x403046
mov dword [0x7d9076], 0x1760c
mov word [0x7d90ab], 0xf905
mov dword [0x7d90f4], edx
mov dword [0x7d9090], 0x15afb
mov dword [0x7d90c1], 0x13b65
add dword [0x7d90b9], edx
mov eax, 0x4035dc
mov dword [ebp - 0x20], eax
mov eax, 0x4035fc
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], 0x4015d8
xor eax, eax
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], 0x1d5cc
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x20]
push eax
call sub.kernel32.dll_CopyFileExW
mov dword [0x7d904e], edi
cmp cx, word [ebp + 0x18]
jg 0x4030b5
xchg dword [0x7d90f8], edx
mov esi, dword [0x7d9050]
jmp 0x4030bf
mov dword [0x7d90d6], 0x11ca0
mov dword [0x7d90e7], edx
mov edx, 0x7d9035
push 0
push esi
call fcn.004015ec
mov byte [ebp - 0x75], 0
xor eax, eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
call sub.kernel32.dll_ConvertThreadToFiber
mov dword [0x7d90e8], edx
mov byte [0x7d907c], 0x10
mov byte [0x7d9080], 0x45
inc byte [ebp - 0x75]
cmp byte [ebp - 0x75], 3
jne 0x4030d6
add dword [0x7d9069], ebx
mov dword [0x7d90f1], esi
dec dword [0x7d9032]
mov dword [0x7d9081], 0x16bb9
xor eax, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
call sub.kernel32.dll_ConvertThreadToFiber
mov ax, word [ebp - 0x3e]
push eax
call sub.kernel32.dll_GlobalDeleteAtom
test ax, ax
jne 0x403157
sub dword [0x7d90b4], esi
mov dword [0x7d908b], 0x17c5a
mov byte [0x7d906f], 0xeb
mov dword [0x7d906d], edx
call fcn.004015ec
lea eax, [ebp - 0x167]
push eax
call sub.advapi32.dll_GetCurrentHwProfileW
mov ecx, ebx
test esi, esi
je 0x40318a
mov byte [0x7d90c6], 0xd1
lea ecx, [0x7d9053]
mov dword [ecx + 0x24], 0xc2
mov dword [0x7d908d], edi
jmp 0x4031aa
mov dword [0x7d9016], 0x151d5
xchg dword [0x7d90dd], ecx
mov dword [0x7d908d], 0x164ba
mov dword [0x7d9020], esi
mov dword [0x7d902a], ecx
cmp edi, dword [ebp - 0x1c]
jge 0x4031bd
mov dword [0x7d90a8], esi
jmp 0x4031dc
and dword [0x7d90cc], eax
and dword [0x7d90f6], edi
mov dword [0x7d90a0], edx
mov byte [0x7d90c1], 0x35
mov dword [0x7d90d6], esi
mov dword [0x7d908f], edx
xor eax, eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
call sub.kernel32.dll_ConvertThreadToFiber
test eax, eax
jne 0x403204
mov dword [0x7d90db], ebx
mov dword [0x7d904c], ecx
mov dword [esp - 0x1c], eax
call fcn.004047b4
lea eax, [ebp - 0x259]
push eax
call sub.advapi32.dll_GetCurrentHwProfileW
test eax, eax
jne 0x403237
mov dword [0x7d905c], ecx
lea ebx, [0x7d904e]
mov dword [ebx], 0xe5
mov dword [0x7d90b9], eax
mov edx, dword [0x7d90ae]
mov dword [0x7d9106], eax
mov dword [0x7d90d4], 0x15e1d
mov dword [0x7d9075], eax
push 1
call fcn.004015ec
mov ax, word [ebp - 0x46]
push eax
call sub.kernel32.dll_GlobalDeleteAtom
call fcn.00402294
mov edi, 0x8f
mov dword [0x7d9082], 0x16c79
mov dword [esp - 0x10], edx
mov dword [0x7d9066], ebx
mov dword [0x7d90e3], esi
mov dword [0x7d9105], edx
mov dword [0x7d9084], 0x114c8
mov dword [0x7d90ba], esi
mov ax, word [ebp - 0x48]
push eax
call sub.kernel32.dll_GlobalDeleteAtom
mov dword [0x7d90d9], 0x14f86
mov dword [0x7d90e7], 0x120e8
mov dword [0x7d902f], 0x12e49
sub dword [0x7d90c9], edx
mov dword [0x7d903a], 0x13e47
mov dword [esp - 0xc], esi
mov eax, 0x1dd
mov dword [0x7d90d9], edx
push 0
push ebx
push esi
call fcn.004015ec
mov dword [0x7d9077], edi
sub dword [0x7d9055], edx
mov ebx, 0x21
xor eax, eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
call sub.kernel32.dll_ConvertThreadToFiber
mov dword [0x7d90ea], edx
mov byte [0x7d901a], 0x37
lea eax, [0x7d9020]
add dword [eax + 4], 0x57
mov dword [0x7d9083], edx
mov dword [0x7d907c], 0x11822
mov word [0x7d9075], 0xe03e
mov word [0x7d90b0], 0x7ed5
cmp edi, 0xffffffff
jle 0x403360
xchg dword [0x7d90d0], eax
mov dword [0x7d9099], esi
mov word [0x7d90c4], 0x8975
mov dword [0x7d9086], edi
mov esi, dword [0x7d904e]
mov dword [0x7d90d1], ecx
lea eax, [ebp - 0x34b]
push eax
call sub.advapi32.dll_GetCurrentHwProfileW
test eax, eax
jne 0x403392
and edx, 0x1f
mov word [0x7d90e5], 0xef56
mov dword [esp - 0x18], edi
sub dword [0x7d9072], eax
lea eax, [ebp - 0x43d]
push eax
call sub.advapi32.dll_GetCurrentHwProfileW
test eax, eax
jne 0x4033bc
mov dword [0x7d904b], edx
mov dword [0x7d9058], ebx
mov byte [0x7d901c], 0x48
mov byte [0x7d90fa], 0xcd
mov eax, 0x403608
mov dword [ebp - 0x50], eax
mov eax, 0x403624
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x58], 0x4015d8
xor eax, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x64], 0x16413
mov eax, dword [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x58]
push eax
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x50]
push eax
call sub.kernel32.dll_CopyFileExW
mov dword [0x7d9100], eax
mov dword [0x7d901b], esi
mov dword [0x7d9095], ecx
xor eax, eax
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
call sub.kernel32.dll_ConvertThreadToFiber
test eax, eax
jne 0x403447
mov dword [0x7d9101], 0x15330
mov dword [0x7d90e8], esi
mov dword [0x7d9033], 0x174be
mov dword [0x7d90be], ecx
mov dword [0x7d905f], edi
lea edx, [0x7d905e]
mov dword [edx + 0x24], 0x31
mov dword [0x7d9045], 0x169c8
lea ebx, [0x7d9073]
sub dword [ebx + 0x10], 1
mov dword [0x7d90b5], edx
mov eax, 0x7d903e
call fcn.004015ec
mov dword [0x7d9095], edx
mov dword [0x7d903f], eax
add dword [0x7d905a], edx
mov dword [0x7d905e], 0x133f5
cmp ah, byte [0x7d90d2]
jg 0x4034bd
mov dword [0x7d901d], 0x14f6a
mov word [0x7d9012], 0x781f
xchg dword [0x7d9067], edx
jmp 0x4034da
mov dword [0x7d9107], 0x1665e
mov dword [0x7d9043], eax
mov dword [0x7d9098], edx
mov byte [0x7d905f], 0x74
mov ax, word [ebp - 0x6a]
push eax
call sub.kernel32.dll_GlobalDeleteAtom
test ax, ax
jne 0x403503
mov dword [0x7d90d4], eax
mov word [0x7d901d], 0x9c5c
mov edi, 0x1ce
mov dword [0x7d9029], esi
sub dword [0x7d90c9], edx
mov dword [0x7d903a], 0x13e47
mov dword [esp - 0xc], esi
mov eax, 0x1dd
mov dword [0x7d90d9], edx
call fcn.004015ec
xor eax, eax
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
push eax
call sub.kernel32.dll_ConvertThreadToFiber
test eax, eax
je 0x40354e
mov dword [esp - 0x12], eax
mov dword [0x7d9102], 0x15bb3
mov byte [0x7d902f], 0x5b
call fcn.00402da4
xor eax, eax
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
push eax
call sub.kernel32.dll_ConvertThreadToFiber
test eax, eax
jne 0x403598
mov dword [0x7d908a], edi
mov byte [0x7d9095], 0xab
mov dword [0x7d904c], 0x14fb6
cmp esi, 0xffffffff
jge 0x403587
mov dword [0x7d90cd], ebx
mov dword [0x7d902a], edx
mov esi, 0xf4
mov dword [0x7d90f2], edi
call fcn.00402da4
mov esp, ebp
pop ebp
ret