Function at 0x436280
Capabilities:
Copy file

Disassembly:
sub esp, 0x688
push ebx
push ebp
push esi
push edi
xor esi, esi
mov ecx, 0x4f
xor eax, eax
lea edi, [esp + 0x15a]
mov word [esp + 0x158], si
mov word [esp + 0x18], si
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x4f
xor eax, eax
lea edi, [esp + 0x1a]
mov ebx, dword [sym.imp.MSVCRT.dll_wcscpy]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x158]
push 0x465cc8
push eax
call ebx
mov ebp, dword [esp + 0x6a4]
lea ecx, [esp + 0x1a0]
lea edi, [ebp + 0x5b0]
push edi
push ecx
call ebx
mov eax, dword [ebp + 0x61c]
add esp, 0x10
cmp eax, esi
jne 0x43630b
mov esi, 1
xor eax, eax
test esi, esi
pop edi
pop esi
pop ebp
pop ebx
sete al
add esp, 0x688
ret
push 0x6aa8a0
push edi
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 8
test eax, eax
je 0x436365
push 0x6aa8a0
push edi
call fcn.004369e0
mov esi, eax
add esp, 8
test esi, esi
jne 0x4369cc
fld qword [0x6aa8f8]
fadd qword [ebp + 0x638]
fstp qword [0x6aa8f8]
fld qword [ebp + 0x640]
fld qword [ebp + 0x638]
fcompp
fnstsw ax
test ah, 1
je 0x436373
fld qword [ebp + 0x640]
jmp 0x436379
mov edx, dword [ebp + 0x600]
mov dword [0x6aa8e0], edx
jmp 0x436336
fld qword [ebp + 0x638]
fcomp qword [0x6aa8f0]
fnstsw ax
test ah, 0x41
jne 0x4363af
fld qword [ebp + 0x640]
fld qword [ebp + 0x638]
fcompp
fnstsw ax
test ah, 1
je 0x4363a3
fld qword [ebp + 0x640]
jmp 0x4363a9
fld qword [ebp + 0x638]
fstp qword [0x6aa8f0]
fild dword [0x6aa8e0]
lea eax, [esp + 0x18]
push 0x465ec8
push eax
fdivr qword [0x6aa8f8]
fstp qword [0x6aa8e8]
call ebx
mov ecx, dword [ebp + 0x30]
mov edi, dword [sym.imp.MSVCRT.dll_swprintf]
push ecx
lea edx, [esp + 0x64]
push 0x454ed8
push edx
call edi
lea eax, [esp + 0x16c]
push 0x46b454
lea ecx, [esp + 0x30]
push eax
push ecx
call fcn.00404a90
mov esi, eax
lea edx, [esp + 0x38]
dec esi
push 0x465f08
neg esi
sbb esi, esi
push edx
neg esi
call ebx
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x80]
push eax
push 0x454ed8
push ecx
call edi
lea edx, [esp + 0x18c]
push 0x46b454
lea eax, [esp + 0x50]
push edx
push eax
call fcn.00404a90
add esp, 0x40
dec eax
neg eax
sbb eax, eax
lea ecx, [esp + 0x18]
neg eax
push 0x465f48
push ecx
add esi, eax
call ebx
mov edx, dword [0x6aa8ec]
mov eax, dword [0x6aa8e8]
push edx
push eax
lea ecx, [esp + 0x68]
push str._.1f
push ecx
call edi
lea edx, [esp + 0x170]
push 0x46b454
lea eax, [esp + 0x34]
push edx
push eax
call fcn.00404a90
dec eax
lea ecx, [esp + 0x3c]
neg eax
sbb eax, eax
push 0x465f88
neg eax
push ecx
add esi, eax
call ebx
mov edx, dword [0x6aa8f4]
mov eax, dword [0x6aa8f0]
push edx
push eax
lea ecx, [esp + 0x8c]
push str._.1f
push ecx
call edi
lea edx, [esp + 0x194]
push 0x46b454
lea eax, [esp + 0x58]
push edx
push eax
call fcn.00404a90
add esp, 0x48
dec eax
neg eax
sbb eax, eax
lea ecx, [esp + 0x18]
neg eax
push 0x466148
push ecx
add esi, eax
call ebx
mov edx, dword [0x6aa8fc]
mov eax, dword [0x6aa8f8]
push edx
push eax
lea ecx, [esp + 0x68]
push str._.16lg
push ecx
call edi
lea edx, [esp + 0x170]
push 0x46b454
lea eax, [esp + 0x34]
push edx
push eax
call fcn.00404a90
fld qword [ebp + 0x660]
fcomp qword [0x44e440]
add esp, 0x24
dec eax
neg eax
sbb eax, eax
neg eax
add esi, eax
fnstsw ax
test ah, 0x40
jne 0x436971
mov eax, dword [ebp + 8]
cmp eax, 0x73
je 0x436971
cmp eax, 0x6e
je 0x436971
cmp eax, 0x6f
je 0x436971
cmp eax, 0x72
je 0x436971
mov eax, dword [0x6aa928]
mov edx, dword [0x6aa924]
fld qword [0x6aa930]
inc eax
mov ecx, 1
mov dword [0x6aa928], eax
mov eax, dword [0x6aa920]
fadd qword [ebp + 0x660]
fstp qword [0x6aa930]
fld qword [ebp + 0x660]
fld st(0)
fmul st(1)
fadd qword [0x6aa938]
fstp qword [0x6aa938]
fstp st(0)
fild dword [0x6aa928]
fld qword [0x6aa930]
fdiv st(1)
fstp qword [0x6aa900]
fld qword [0x6aa938]
fdiv st(1)
fld qword [0x6aa900]
fmul qword [0x6aa900]
fsubp st(1)
fsqrt
fstp qword [0x6aa908]
fstp st(0)
call fcn.0044cd40
mov dword [0x6aa920], eax
mov dword [0x6aa924], edx
fld qword [ebp + 0x660]
fcomp qword [0x476340]
fnstsw ax
test ah, 1
jne 0x43660a
fld qword [ebp + 0x660]
fcomp qword [0x476348]
fnstsw ax
test ah, 0x41
jne 0x436630
mov edx, dword [0x6aa920]
mov eax, dword [0x6aa910]
mov ecx, dword [0x6aa924]
or edx, 1
inc eax
mov dword [0x6aa920], edx
mov dword [0x6aa924], ecx
mov dword [0x6aa910], eax
cmp dword [0x6aa928], 0x40
jae 0x436664
mov eax, dword [0x6aa918]
mov edx, dword [0x6aa91c]
mov ecx, 1
call fcn.0044cd40
mov ecx, dword [0x6aa920]
mov dword [0x6aa91c], edx
and ecx, 1
or eax, ecx
mov dword [0x6aa918], eax
mov eax, dword [0x476338]
xor ecx, ecx
cmp eax, ecx
jle 0x43671d
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], ecx
jmp 0x436681
mov ecx, dword [esp + 0x10]
cmp ecx, 0x40
jae 0x4366b6
mov eax, dword [0x6aa920]
mov edx, dword [0x6aa924]
call fcn.0044cd20
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x4366a3
inc dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [0x476338]
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x43667d
mov edx, dword [ebp + 0x30]
lea eax, [ebp + 0x5b0]
push eax
push edx
lea eax, [esp + 0x2a0]
push str.SAM_d:_s
push eax
call edi
fild dword [esp + 0x24]
mov ecx, dword [ebp + 0x30]
add esp, 0x10
fidiv dword [0x476338]
fst qword [ebp + 0x608]
fcomp qword [0x476350]
fnstsw ax
test ah, 1
jne 0x43670b
mov eax, dword [ebp]
add ecx, 0x27
push ecx
push 0
lea edx, [esp + 0x2a0]
push 0
push edx
push eax
push 0
jmp 0x436732
add ecx, 0x27
lea edx, [esp + 0x298]
push ecx
push 0
push 0
push edx
jmp 0x43672e
mov eax, dword [ebp + 0x30]
add eax, 0x27
push eax
push ecx
push ecx
lea ecx, [esp + 0x2a4]
push ecx
push 0xffffffffffffffff
push 7
push 0x35
call fcn.00426440
add esp, 0x1c
lea edx, [esp + 0x18]
push 0x465fc8
push edx
call ebx
mov eax, dword [0x6aa904]
mov ecx, dword [0x6aa900]
push eax
push ecx
lea edx, [esp + 0x68]
push str._.2f
push edx
call edi
lea eax, [esp + 0x170]
push 0x46b454
lea ecx, [esp + 0x34]
push eax
push ecx
call fcn.00404a90
dec eax
lea edx, [esp + 0x3c]
neg eax
sbb eax, eax
push 0x466008
neg eax
push edx
add esi, eax
call ebx
mov eax, dword [0x6aa90c]
mov ecx, dword [0x6aa908]
push eax
push ecx
lea edx, [esp + 0x8c]
push str._.3f
push edx
call edi
lea eax, [esp + 0x194]
push 0x46b454
lea ecx, [esp + 0x58]
push eax
push ecx
call fcn.00404a90
add esp, 0x48
dec eax
neg eax
sbb eax, eax
lea edx, [esp + 0x18]
neg eax
push 0x466048
push edx
add esi, eax
call ebx
mov eax, dword [0x6aa910]
lea ecx, [esp + 0x60]
push eax
push 0x454ed8
push ecx
call edi
lea edx, [esp + 0x16c]
push 0x46b454
lea eax, [esp + 0x30]
push edx
push eax
call fcn.00404a90
dec eax
lea ecx, [esp + 0x38]
neg eax
sbb eax, eax
push 0x4660c8
neg eax
push ecx
add esi, eax
call ebx
mov edx, dword [0x6aa91c]
mov eax, dword [0x6aa918]
push edx
push eax
push str._016I64X
lea ecx, [esp + 0x8c]
push ecx
call edi
lea edx, [esp + 0x190]
push 0x46b454
lea eax, [esp + 0x54]
push edx
push eax
call fcn.00404a90
add esp, 0x44
dec eax
neg eax
sbb eax, eax
lea ecx, [esp + 0x18]
neg eax
push 0x466088
push ecx
add esi, eax
call ebx
mov edx, dword [0x6aa924]
mov eax, dword [0x6aa920]
push edx
push eax
lea ecx, [esp + 0x68]
push str._016I64X
push ecx
call edi
lea edx, [esp + 0x170]
push 0x46b454
lea eax, [esp + 0x34]
push edx
push eax
call fcn.00404a90
dec eax
lea ecx, [esp + 0x3c]
neg eax
sbb eax, eax
push 0x466108
neg eax
push ecx
add esi, eax
call ebx
mov edx, dword [0x6aa928]
lea eax, [esp + 0x84]
push edx
push 0x454ed8
push eax
call edi
lea ecx, [esp + 0x190]
push 0x46b454
lea edx, [esp + 0x54]
push ecx
push edx
call fcn.00404a90
add esp, 0x44
dec eax
neg eax
sbb eax, eax
push 0x466188
neg eax
add esi, eax
lea eax, [esp + 0x1c]
push eax
call ebx
mov ecx, dword [0x6aa934]
mov edx, dword [0x6aa930]
push ecx
push edx
lea eax, [esp + 0x68]
push str._.16lg
push eax
call edi
lea ecx, [esp + 0x170]
push 0x46b454
lea edx, [esp + 0x34]
push ecx
push edx
call fcn.00404a90
dec eax
neg eax
sbb eax, eax
neg eax
add esi, eax
lea eax, [esp + 0x3c]
push 0x4661c8
push eax
call ebx
mov ecx, dword [0x6aa93c]
mov edx, dword [0x6aa938]
push ecx
push edx
lea eax, [esp + 0x8c]
push str._.16lg
push eax
call edi
lea ecx, [esp + 0x194]
push 0x46b454
lea edx, [esp + 0x58]
push ecx
push edx
call fcn.00404a90
add esp, 0x48
dec eax
neg eax
sbb eax, eax
neg eax
add esi, eax
test esi, esi
jne 0x4369cc
push 0x46b24c
call fcn.00439b70
add esp, 4
cmp word [0x46b24c], si
je 0x4369cc
push esi
push 0x46b24c
push 0x46b454
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x4369cc
push eax
push eax
push 0x46b24c
push eax
push 0xffffffffffffffff
push eax
push 0x22c
call fcn.00426440
mov eax, dword [0x694ca8]
add esp, 0x1c
push esi
push 0xea60
push 0x16
push eax
call dword [sym.imp.USER32.dll_SetTimer]
xor eax, eax
pop edi
test esi, esi
pop esi
pop ebp
sete al
pop ebx
add esp, 0x688
ret