Function at 0x4617fd
Capabilities:
Move file

Disassembly:
push 0x564
mov eax, 0x4a6a17
call fcn.0045e22d
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0x53c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x510], ecx
mov dword [ebp - 0x558], eax
mov dword [ebp - 0x51c], esi
mov dword [ebp - 0x52c], esi
mov dword [ebp - 0x534], esi
mov dword [ebp - 0x540], esi
mov dword [ebp - 0x544], esi
mov dword [ebp - 0x518], esi
mov dword [ebp - 0x564], esi
mov dword [ebp - 0x514], esi
mov dword [ebp - 0x530], esi
call fcn.004a1a12
mov edi, eax
push 0x85b
mov dword [ebp - 0x54c], edi
call fcn.004a1a12
mov eax, dword [edi]
lea ecx, [ebp - 0x534]
push ecx
lea ecx, [ebp - 0x540]
push ecx
push esi
push dword [ebp + 0xc]
mov dword [ebp - 4], esi
push edi
call dword [eax + 0x20]
cmp eax, esi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
lea edx, [ebp - 0x51c]
push edx
push dword [ebp - 0x534]
mov eax, edi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
lea edx, [ebp - 0x4f8]
push edx
push eax
call dword [ecx + 0x1c]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x558]
xor ebx, ebx
inc ebx
mov dword [eax], ebx
push 4
pop ecx
mov edi, 0x454f70
lea esi, [ebp - 0x4f8]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x46192a
push dword [ebp - 0x51c]
mov ecx, dword [ebp - 0x510]
call fcn.004a1a12
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
and dword [ebp - 0x50c], 0
jmp 0x462c5b
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
lea edx, [ebp - 0x52c]
push edx
push 0x454f20
push eax
call dword [ecx]
test eax, eax
jge 0x461950
mov dword [ebp - 0x50c], ebx
jmp 0x462c5b
mov eax, dword [ebp - 0x52c]
fld qword [eax + 0x228]
mov ecx, dword [eax + 0x210]
fstp qword [ebp - 0x4e0]
push 0x2e
fld qword [eax + 0x230]
add eax, 8
fstp qword [ebp - 0x56c]
push ecx
fld qword [eax + 0x230]
push eax
fstp qword [ebp - 0x560]
fld qword [eax + 0x238]
fstp qword [ebp - 0x554]
call fcn.0048ea81
xor edi, edi
cmp eax, edi
jne 0x4619ad
mov dword [ebp - 0x50c], 0x8000ffff
jmp 0x462c5b
lea esi, [eax + 2]
push esi
call fcn.004a1a12
push eax
push esi
call fcn.004a1a12
mov esi, dword [ebp - 0x510]
mov dword [ebp - 0x520], eax
mov eax, dword [esi + 0x50]
cmp eax, edi
jle 0x4619d9
mov ecx, dword [esi + 0x5c]
mov eax, dword [ecx + eax*4 - 4]
jmp 0x4619db
xor eax, eax
xor ecx, ecx
cmp eax, 9
setne cl
push 0x208
lea eax, [ebp - 0x2ca]
push edi
push eax
mov word [ebp - 0x2cc], di
mov dword [ebp - 0x538], ecx
call sub.MSVCR80.dll_memset
mov eax, dword [esi + 0x88]
mov ecx, dword [eax]
add esp, 0xc
push edi
mov ebx, 0x105
push ebx
lea edx, [ebp - 0x2cc]
push edx
push eax
call dword [ecx + 8]
cmp eax, edi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
lea eax, [ebp - 0x2cc]
push eax
call fcn.004a1a12
mov ecx, dword [ebp - 0x52c]
add ecx, 8
push ecx
mov dword [ebp - 0x524], ebx
sub dword [ebp - 0x524], eax
add eax, eax
push 0x4021b4
push dword [ebp - 0x524]
mov dword [ebp - 0x528], eax
lea eax, [ebp + eax - 0x2cc]
push eax
call fcn.004a1a12
add esp, 0x10
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
push 4
pop edx
mov ecx, edx
mov edi, 0x454f10
lea esi, [ebp - 0x4f8]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x461eb2
lea eax, [ebp - 0x2cc]
push eax
call fcn.004a1a12
test eax, eax
jne 0x461b30
and word [ebp - 0x4d8], ax
push 0x208
push eax
lea eax, [ebp - 0x4d6]
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
lea eax, [ebp - 0x2cc]
push eax
push ebx
lea eax, [ebp - 0x4d8]
push eax
call fcn.004a1a12
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
push ebx
lea eax, [ebp - 0x2cc]
push eax
lea eax, [ebp - 0x4d8]
push eax
call fcn.004a1a12
push eax
lea eax, [ebp - 0x4d8]
push eax
call fcn.004a1a12
test al, al
jne 0x461b20
mov dword [ebp - 0x50c], 0x80004005
jmp 0x462c5b
lea eax, [ebp - 0x2cc]
push eax
call fcn.004a1a12
test eax, eax
je 0x461b11
xor esi, esi
cmp dword [ebp - 0x538], esi
mov ebx, 0x40240c
je 0x461b84
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push esi
push 6
push dword [0x4aa864]
push esi
push ebx
push esi
push ebx
push eax
call dword [ecx + 0x20]
cmp eax, esi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov ecx, dword [ebp - 0x510]
push 9
call fcn.004a1a12
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x520]
xor esi, esi
cmp eax, 0xffffffff
je 0x461bd5
cmp eax, esi
je 0x461bce
cmp eax, 1
je 0x461bc7
cmp eax, 2
jne 0x46199e
push 0x401de4
jmp 0x461bda
push 0x401df4
jmp 0x461bda
push 0x401e04
jmp 0x461bda
push 0x401dd0
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
push esi
push 0x401db8
push esi
push esi
push eax
call dword [ecx + 0x1c]
cmp eax, esi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
lea edx, [ebp - 0x514]
push edx
push 0x402c1c
push eax
call dword [ecx]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
push dword [ebp - 0x514]
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push 9
push dword [0x4aa878]
push 0
push ebx
push 0
push ebx
push eax
call dword [ecx + 0x20]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
fldz
fcomp qword [ebp - 0x4e0]
fnstsw ax
test ah, 0x41
jp 0x461e19
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
xor edi, edi
push 0x2c
lea eax, [ebp - 0x3e]
push edi
push eax
mov word [ebp - 0x40], di
call sub.MSVCR80.dll_memset
fld qword [ebp - 0x4e0]
pop ecx
fstp qword [esp]
push 0x17
lea eax, [ebp - 0x40]
push eax
call fcn.00492128
cmp eax, edi
jle 0x46199e
mov esi, dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
push eax
lea eax, [ebp - 0x40]
push eax
call esi
cmp eax, edi
mov dword [ebp - 0x518], eax
jne 0x461cdd
mov dword [ebp - 0x50c], 0x8007000e
jmp 0x462c5b
push dword [ebp - 0x518]
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
push edi
push 0x401bfc
push edi
push edi
push eax
call dword [ecx + 0x1c]
cmp eax, edi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
fld qword [ebp - 0x56c]
push ecx
push ecx
fstp qword [esp]
push 0x17
lea eax, [ebp - 0x40]
push eax
call fcn.00492128
xor edi, edi
cmp eax, edi
mov dword [ebp - 0x528], eax
jle 0x46199e
push dword [ebp - 0x518]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [ebp - 0x528]
lea eax, [ebp - 0x40]
push eax
call esi
cmp eax, edi
mov dword [ebp - 0x518], eax
je 0x461cce
push dword [ebp - 0x518]
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
push edi
push 0x401c10
push edi
push edi
push eax
call dword [ecx + 0x1c]
cmp eax, edi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x514]
test eax, eax
je 0x461d95
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebp - 0x514], edi
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
lea edx, [ebp - 0x514]
push edx
push 0x402c1c
push eax
call dword [ecx]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
push dword [ebp - 0x514]
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push 8
push dword [0x4aa8b0]
push 0
push ebx
push 0
push ebx
push eax
call dword [ecx + 0x20]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push 8
push dword [0x4aa8b0]
push 0
push ebx
push 0
push ebx
push eax
call dword [ecx + 0x24]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
xor esi, esi
push esi
push 8
push dword [0x4aa898]
push esi
push ebx
push esi
push ebx
push eax
call dword [ecx + 0x20]
cmp eax, esi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov ecx, dword [ebp - 0x510]
lea eax, [ebp - 0x2cc]
push eax
call fcn.004a1a12
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push 8
push dword [0x4aa898]
push esi
push ebx
push esi
push ebx
push eax
call dword [ecx + 0x24]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
push 9
push dword [0x4aa878]
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push 0
push ebx
push 0
push ebx
push eax
call dword [ecx + 0x24]
test eax, eax
jmp 0x462aca
mov ecx, edx
mov edi, 0x454f30
lea esi, [ebp - 0x4f8]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x462245
mov eax, dword [ebp - 0x520]
add eax, 0xfffffffd
jne 0x46199e
and word [ebp - 0x4d8], 0
push 0x208
lea eax, [ebp - 0x4d6]
push 0
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
lea eax, [ebp - 0x2cc]
push eax
push ebx
lea eax, [ebp - 0x4d8]
push eax
call fcn.004a1a12
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov esi, dword [ebp - 0x510]
cmp dword [esi + 0x2c], 0
jne 0x461f70
push 0x5c
push dword [esi + 0x24]
call fcn.0048ecb2
push 0x2f
push dword [esi + 0x24]
mov edi, eax
call fcn.0048ecb2
cmp eax, edi
jbe 0x461f40
mov edi, eax
test edi, edi
jne 0x461f49
mov edi, dword [esi + 0x24]
jmp 0x461f4b
inc edi
inc edi
push edi
call fcn.00491e11
test eax, eax
mov dword [esi + 0x2c], eax
je 0x461cce
push 0x2e
push eax
call fcn.0048ecb2
test eax, eax
je 0x46199e
and word [eax], 0
mov eax, dword [ebp - 0x52c]
add eax, 8
push eax
push dword [esi + 0x2c]
mov eax, dword [ebp - 0x528]
push 0x402f90
push dword [ebp - 0x524]
lea eax, [ebp + eax - 0x4d8]
push eax
call fcn.004a1a12
add esp, 0x14
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
lea eax, [ebp - 0x2cc]
push eax
call fcn.004a1a12
test eax, eax
lea eax, [ebp - 0x4d8]
push eax
je 0x461ffb
lea eax, [ebp - 0x2cc]
push eax
call dword [sym.imp.kernel32.dll_MoveFileW]
test eax, eax
jne 0x462008
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jle 0x461fe8
and eax, 0xffff
or eax, 0x80070000
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
jmp 0x46199e
call fcn.004a1a12
test eax, eax
je 0x461b11
xor esi, esi
cmp dword [ebp - 0x538], esi
mov ebx, 0x40240c
je 0x46205c
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push esi
push 6
push dword [0x4aa864]
push esi
push ebx
push esi
push ebx
push eax
call dword [ecx + 0x20]
cmp eax, esi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov ecx, dword [ebp - 0x510]
push 9
call fcn.004a1a12
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov esi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
lea eax, [ebp - 0x4d8]
push eax
call esi
xor edi, edi
cmp eax, edi
mov dword [ebp - 0x544], eax
je 0x461cce
push dword [ebp - 0x544]
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
push edi
push 0x401e58
push edi
push edi
push eax
call dword [ecx + 0x1c]
cmp eax, edi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
lea edx, [ebp - 0x514]
push edx
push 0x402c1c
push eax
call dword [ecx]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
push dword [ebp - 0x514]
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push 0xd
push dword [0x4aa8a8]
push edi
push ebx
push edi
push ebx
push eax
call dword [ecx + 0x20]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x4e8], ecx
lea edi, [ebp - 0x4e4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x4c
stosd dword es:[edi], eax
push ecx
lea eax, [ebp - 0xbe]
push eax
mov word [ebp - 0xc0], cx
call sub.MSVCR80.dll_memset
add esp, 0xc
lea eax, [ebp - 0x4e8]
push eax
call dword [sym.imp.ole32.dll_CoCreateGuid]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
push 0x27
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x4e8]
push eax
call dword [sym.imp.ole32.dll_StringFromGUID2]
test eax, eax
je 0x461b11
lea eax, [ebp - 0xc0]
push eax
call esi
test eax, eax
mov dword [ebp - 0x518], eax
je 0x461cce
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
push dword [ebp - 0x518]
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
xor esi, esi
push esi
push 0x401eb0
push esi
push esi
push eax
call dword [ecx + 0x1c]
cmp eax, esi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
push dword [ebp - 0x514]
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push 0x12
push dword [0x4aa8b4]
push esi
push ebx
push esi
push ebx
push eax
call dword [ecx + 0x20]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push 0x12
push dword [0x4aa8b4]
push esi
push ebx
push esi
push ebx
push eax
call dword [ecx + 0x24]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
push 0xd
push dword [0x4aa8a8]
jmp 0x461e96
mov ecx, edx
mov edi, 0x454f40
lea esi, [ebp - 0x4f8]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x462386
cmp dword [ebp - 0x520], 6
je 0x462272
cmp dword [ebp - 0x520], 7
jne 0x46199e
lea eax, [ebp - 0x2cc]
push eax
call fcn.004a1a12
test eax, eax
je 0x461b11
xor esi, esi
cmp dword [ebp - 0x538], esi
mov ebx, 0x40240c
je 0x4622da
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push esi
push 6
push dword [0x4aa864]
push esi
push ebx
push esi
push ebx
push eax
call dword [ecx + 0x20]
cmp eax, esi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov ecx, dword [ebp - 0x510]
push 9
call fcn.004a1a12
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push esi
push 0xe
push dword [0x4aa8a4]
push esi
push ebx
push esi
push ebx
push eax
call dword [ecx + 0x20]
cmp eax, esi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
xor esi, esi
push esi
push 8
push dword [0x4aa898]
push esi
push ebx
push esi
push ebx
push eax
call dword [ecx + 0x20]
cmp eax, esi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov ecx, dword [ebp - 0x510]
lea eax, [ebp - 0x2cc]
push eax
call fcn.004a1a12
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push 8
push dword [0x4aa898]
push esi
push ebx
push esi
push ebx
push eax
call dword [ecx + 0x24]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
push 0xe
push dword [0x4aa8a4]
jmp 0x461e96
xor eax, eax
mov ecx, edx
mov edi, 0x454f50
lea esi, [ebp - 0x4f8]
repe cmpsd dword [esi], dword es:[edi]
mov eax, 0x454f60
je 0x4623b2
mov ecx, edx
mov edi, eax
lea esi, [ebp - 0x4f8]
xor ebx, ebx
repe cmpsd dword [esi], dword es:[edi]
jne 0x46199e
cmp dword [ebp - 0x53c], 0
je 0x4623d7
mov edi, eax
mov ecx, edx
lea esi, [ebp - 0x4f8]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x4623d7
mov dword [ebp - 0x548], 1
jmp 0x4623de
and dword [ebp - 0x548], 0
cmp dword [ebp - 0x520], 6
je 0x4623f4
cmp dword [ebp - 0x520], 7
jne 0x46199e
lea eax, [ebp - 0x2cc]
push eax
call fcn.004a1a12
test eax, eax
je 0x461b11
xor esi, esi
cmp dword [ebp - 0x538], esi
mov ebx, 0x40240c
je 0x46245c
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push esi
push 6
push dword [0x4aa864]
push esi
push ebx
push esi
push ebx
push eax
call dword [ecx + 0x20]
cmp eax, esi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov ecx, dword [ebp - 0x510]
push 9
call fcn.004a1a12
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
cmp dword [ebp - 0x548], 0
je 0x4625cf
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
fld qword [ebp - 0x560]
push ecx
push ecx
mov ecx, dword [ebp - 0x510]
fstp qword [esp]
push 0x401bd0
push dword [ecx + 0x1c]
call fcn.004a1a12
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
fld qword [ebp - 0x554]
push ecx
push ecx
mov ecx, dword [ebp - 0x510]
fstp qword [esp]
push 0x401bdc
push dword [ecx + 0x1c]
call fcn.004a1a12
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
fld qword [ebp - 0x4e0]
push ecx
push ecx
mov ecx, dword [ebp - 0x510]
fstp qword [esp]
push 0x401bfc
push dword [ecx + 0x1c]
call fcn.004a1a12
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
fld qword [ebp - 0x56c]
push ecx
push ecx
mov ecx, dword [ebp - 0x510]
fstp qword [esp]
push 0x401c10
push dword [ecx + 0x1c]
call fcn.004a1a12
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x514]
test eax, eax
je 0x46254d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebp - 0x514], 0
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
lea edx, [ebp - 0x514]
push edx
push 0x402c1c
push eax
call dword [ecx]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
push dword [ebp - 0x514]
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push 0x10
push dword [0x4aa8b8]
push 0
push ebx
push 0
push ebx
push eax
call dword [ecx + 0x20]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x514]
test eax, eax
je 0x4625bd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebp - 0x514], 0
mov eax, dword [ebp - 0x51c]
mov eax, dword [eax + 0x260]
mov dword [ebp - 0x564], eax
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
push 4
pop ecx
mov edi, 0x454f50
lea esi, [ebp - 0x4f8]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x46274a
fldz
xor edi, edi
fcomp qword [ebp - 0x4e0]
fnstsw ax
test ah, 0x41
jp 0x4626f7
push 0x2c
lea eax, [ebp - 0x6e]
push edi
push eax
mov word [ebp - 0x70], di
call sub.MSVCR80.dll_memset
fld qword [ebp - 0x4e0]
pop ecx
fstp qword [esp]
push 0x17
lea eax, [ebp - 0x70]
push eax
call fcn.00492128
cmp eax, edi
jle 0x46199e
mov esi, dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
push eax
lea eax, [ebp - 0x70]
push eax
call esi
cmp eax, edi
mov dword [ebp - 0x518], eax
je 0x461cce
push dword [ebp - 0x518]
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
push edi
push 0x401bfc
push edi
push edi
push eax
call dword [ecx + 0x1c]
cmp eax, edi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
fld qword [ebp - 0x56c]
push ecx
push ecx
fstp qword [esp]
push 0x17
lea eax, [ebp - 0x70]
push eax
call fcn.00492128
cmp eax, edi
mov dword [ebp - 0x528], eax
jle 0x46199e
push dword [ebp - 0x518]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [ebp - 0x528]
lea eax, [ebp - 0x70]
push eax
call esi
cmp eax, edi
mov dword [ebp - 0x518], eax
je 0x461cce
push dword [ebp - 0x518]
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
push edi
push 0x401c10
push edi
push edi
push eax
call dword [ecx + 0x1c]
cmp eax, edi
jmp 0x46273e
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
mov esi, 0x401e90
push esi
push edi
push 0x401bfc
push edi
push edi
push eax
call dword [ecx + 0x1c]
cmp eax, edi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
push esi
xor esi, esi
push esi
push 0x401c10
push esi
push esi
push eax
call dword [ecx + 0x1c]
cmp eax, esi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
lea edx, [ebp - 0x514]
push edx
push 0x402c1c
push eax
call dword [ecx]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
push dword [ebp - 0x514]
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push 0xb
push dword [0x4aa8a0]
push 0
push ebx
push 0
push ebx
push eax
call dword [ecx + 0x20]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
xor esi, esi
push esi
push 8
push dword [0x4aa898]
push esi
push ebx
push esi
push ebx
push eax
call dword [ecx + 0x20]
cmp eax, esi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov ecx, dword [ebp - 0x510]
lea eax, [ebp - 0x2cc]
push eax
call fcn.004a1a12
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push 8
push dword [0x4aa898]
push esi
push ebx
push esi
push ebx
push eax
call dword [ecx + 0x24]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push 0xb
push dword [0x4aa8a0]
push esi
push ebx
push esi
push ebx
push eax
call dword [ecx + 0x24]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x53c]
test eax, eax
je 0x462aa3
mov ecx, dword [eax]
and dword [ebp - 0x568], esi
and dword [ebp - 0x520], esi
lea edx, [ebp - 0x568]
push edx
push eax
call dword [ecx + 0x38]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
lea edx, [ebp - 0x520]
push edx
push eax
call dword [ecx + 0x40]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
lea edx, [ebp - 0x530]
push edx
push eax
call dword [ecx + pe_nt_image_headers32]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp + 0xc]
and dword [ebp - 0x524], esi
mov dword [ebp - 0x528], eax
inc eax
cmp eax, dword [ebp - 0x520]
mov dword [ebp - 0x55c], eax
jge 0x462aa3
mov edx, dword [ebp - 0x530]
mov esi, dword [edx]
lea ecx, [eax + 1]
push ecx
push eax
push edx
mov dword [ebp - 0x4dc], ecx
call dword [esi + 0x70]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x530]
and dword [ebp - 0x550], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x550]
push edx
push eax
call dword [ecx + 0x24]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
cmp word [ebp - 0x550], 0x20
jne 0x46293f
inc dword [ebp - 0x524]
jmp 0x462a5f
cmp word [ebp - 0x550], 0xfffc
jne 0x462a77
xor eax, eax
xor esi, esi
mov dword [ebp - 0x508], esi
lea edi, [ebp - 0x504]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x51c]
cmp eax, esi
je 0x462976
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x51c], esi
mov eax, dword [ebp - 0x54c]
mov ecx, dword [eax]
lea edx, [ebp - 0x534]
push edx
lea edx, [ebp - 0x540]
push edx
push esi
push dword [ebp - 0x55c]
push eax
call dword [ecx + 0x20]
cmp eax, esi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x54c]
mov ecx, dword [eax]
lea edx, [ebp - 0x51c]
push edx
push dword [ebp - 0x534]
push eax
call dword [ecx + 0x1c]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
lea edx, [ebp - 0x508]
push edx
push eax
call dword [ecx + 0x1c]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
push 4
pop ecx
lea edi, [ebp - 0x508]
lea esi, [ebp - 0x4f8]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x462a77
push 4
pop ecx
mov edi, 0x454f60
lea esi, [ebp - 0x508]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x462b27
mov eax, dword [ebp - 0x564]
mov ecx, dword [ebp - 0x51c]
cmp eax, dword [ecx + 0x260]
jne 0x462a77
mov esi, dword [ebp - 0x510]
xor edi, edi
push dword [ebp - 0x558]
mov eax, dword [ebp - 0x55c]
push eax
push edi
mov ecx, esi
mov dword [ebp - 0x528], eax
call fcn.004617fd
cmp eax, edi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [ebp - 0x4dc]
cmp eax, dword [ebp - 0x520]
mov dword [ebp - 0x55c], eax
jl 0x4628dd
mov ecx, dword [ebp - 0x528]
cmp ecx, dword [ebp + 0xc]
jle 0x462aa3
push dword [ebp - 0x520]
mov eax, dword [ebp - 0x53c]
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x70]
test eax, eax
mov dword [ebp - 0x50c], eax
jl 0x462c5b
xor esi, esi
cmp dword [ebp - 0x548], esi
je 0x462ad6
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push 0x10
push dword [0x4aa8b8]
push esi
push ebx
push esi
push ebx
push eax
call dword [ecx + 0x24]
cmp eax, esi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
xor edi, edi
cmp dword [ebp - 0x538], edi
je 0x462c46
mov eax, dword [ebp - 0x510]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push 6
push dword [0x4aa864]
push edi
push ebx
push edi
push ebx
push eax
call dword [ecx + 0x24]
cmp eax, edi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov esi, dword [ebp - 0x510]
mov eax, dword [esi + 0x50]
cmp eax, edi
jbe 0x462c2d
dec eax
mov dword [esi + 0x50], eax
jmp 0x462c4c
cmp dword [ebp - 0x524], 0
jbe 0x462a2e
mov esi, dword [ebp - 0x510]
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
xor edi, edi
cmp eax, edi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
push 0x401ea0
push edi
push 0x401bfc
push edi
push edi
push eax
call dword [ecx + 0x1c]
cmp eax, edi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
push 0x401ea0
push edi
push 0x401c10
push edi
push edi
push eax
call dword [ecx + 0x1c]
cmp eax, edi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
push dword [ebp - 0x514]
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
push 0xb
push dword [0x4aa8a0]
push edi
push ebx
push edi
push ebx
push eax
call dword [ecx + 0x20]
cmp eax, edi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
push edi
push 9
push dword [0x4aa89c]
push edi
push ebx
push edi
push ebx
push eax
call dword [ecx + 0x20]
cmp eax, edi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
push 9
push dword [0x4aa89c]
push edi
push ebx
push edi
push ebx
push eax
call dword [ecx + 0x24]
cmp eax, edi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
push 0xb
push dword [0x4aa8a0]
push edi
push ebx
push edi
push ebx
push eax
call dword [ecx + 0x24]
cmp eax, edi
mov dword [ebp - 0x50c], eax
jl 0x462c5b
mov dword [ebp - 0x524], edi
jmp 0x462a36
push edi
mov eax, 0x402f78
push eax
push 0x37376532
push eax
call fcn.00469cd7
test eax, eax
jne 0x462c4c
int3
mov esi, dword [ebp - 0x510]
cmp dword [esi + 0x40], edi
jle 0x462c5b
mov eax, dword [ebp - 0x510]
and dword [eax + 0x4c], 0
mov eax, dword [ebp - 0x51c]
xor esi, esi
cmp eax, esi
je 0x462c73
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x51c], esi
mov eax, dword [ebp - 0x52c]
cmp eax, esi
je 0x462c89
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x52c], esi
cmp dword [ebp - 0x544], esi
je 0x462c9d
push dword [ebp - 0x544]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x518], esi
je 0x462cb1
push dword [ebp - 0x518]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x514]
cmp eax, esi
je 0x462cc7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x514], esi
mov eax, dword [ebp - 0x530]
cmp eax, esi
je 0x462cdd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x530], esi
push 0x85c
call fcn.004a1a12
mov eax, dword [ebp - 0x50c]
call fcn.0045e277
ret 0xc