Function at 0x406410
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45a744
mov eax, dword fs:[0]
push eax
sub esp, 0x194
mov eax, dword [0x477010]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov dword [ebp - 0x164], esi
mov dword [ebp - 0x168], ecx
push 0x48
lea eax, [ebp - 0xfc]
push 0
push eax
call fcn.00424990
add esp, 0xc
lea ecx, [ebp - 0xfc]
call fcn.00401c70
mov dword [ebp - 4], 0
xor eax, eax
mov edx, dword [esi + 0xc]
mov ecx, edx
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 7
lea esi, [ecx + 2]
mov word [ebp - 0x160], ax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4064b0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x160]
call fcn.0040bcc0
push 0x38
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 1
push 0
push eax
call fcn.00424990
add esp, 0xc
lea edx, [ebp - 0x160]
cmp dword [ebp - 0x14c], 8
lea ecx, [ebp - 0x144]
cmovae edx, dword [ebp - 0x160]
call fcn.004041f0
mov esi, eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40]
push esi
mov dword [ebp - 0x4c], vtable.CFile.0
mov dword [ebp - 0x44], 0
call fcn.0040a2b0
xorps xmm0, xmm0
mov word [ebp - 0x1c], 1
movlpd qword [ebp - 0x24], xmm0
cmp dword [esi + 0x14], 8
jb 0x406532
mov esi, dword [esi]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x44], eax
cmp eax, 0xffffffff
je 0x40657b
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x20], ecx
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x130]
cmp edx, 8
jb 0x4065c2
mov ecx, dword [ebp - 0x144]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4065b5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b33
push edx
push ecx
call fcn.00420a59
mov eax, dword [ebp - 0x44]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 7
mov word [ebp - 0x144], cx
test eax, eax
je 0x4065ed
cmp eax, 0xffffffff
je 0x4065ed
mov esi, dword [ebp - 0x24]
jmp 0x4065ef
xor esi, esi
lea ecx, [ebp - 0x4c]
call fcn.0040c8a0
add dword [ebp - 0xc8], esi
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x14c]
cmp edx, 8
jb 0x406641
mov ecx, dword [ebp - 0x160]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406637
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b38
push edx
push ecx
call fcn.00420a59
add esp, 8
mov edi, 4
cmp dword [ebp - 0x168], edi
jle 0x40683e
nop dword [eax]
nop word [eax + eax]
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 7
mov edx, dword [eax + edi*4]
mov ecx, edx
xor eax, eax
mov word [ebp - 0x180], ax
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x406690
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x180]
call fcn.0040bcc0
push 0x38
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 3
push 0
push eax
call fcn.00424990
add esp, 0xc
lea edx, [ebp - 0x180]
cmp dword [ebp - 0x16c], 8
lea ecx, [ebp - 0x144]
cmovae edx, dword [ebp - 0x180]
call fcn.004041f0
mov esi, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x40]
push esi
mov dword [ebp - 0x4c], vtable.CFile.0
mov dword [ebp - 0x44], 0
call fcn.0040a2b0
xorps xmm0, xmm0
mov word [ebp - 0x1c], 1
movlpd qword [ebp - 0x24], xmm0
cmp dword [esi + 0x14], 8
jb 0x406712
mov esi, dword [esi]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x44], eax
cmp eax, 0xffffffff
je 0x40675b
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x20], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x130]
cmp edx, 8
jb 0x4067a2
mov ecx, dword [ebp - 0x144]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406795
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b33
push edx
push ecx
call fcn.00420a59
mov eax, dword [ebp - 0x44]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 7
mov word [ebp - 0x144], cx
test eax, eax
je 0x4067dd
cmp eax, 0xffffffff
je 0x4067dd
mov al, byte [ebp - 0x170]
mov esi, dword [ebp - 0x24]
add al, al
movzx ecx, al
add esi, 8
add esi, ecx
jmp 0x4067df
xor esi, esi
lea ecx, [ebp - 0x4c]
call fcn.0040c8a0
add dword [ebp - 0xc4], esi
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x16c]
cmp edx, 8
jb 0x406831
mov ecx, dword [ebp - 0x180]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406827
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b33
push edx
push ecx
call fcn.00420a59
add esp, 8
inc edi
cmp edi, dword [ebp - 0x168]
jl 0x406660
mov eax, dword [ebp - 0x164]
lea ecx, [ebp - 0x7c]
mov edx, dword [eax + 8]
call fcn.004041f0
mov byte [ebp - 4], 5
lea eax, [ebp - 0x7c]
cmp dword [ebp - 0x68], 8
cmovae eax, dword [ebp - 0x7c]
push eax
lea eax, [ebp - 0x144]
push str.Creating_output_file__s
push eax
call fcn.0041ec00
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x12c]
push 8
xor eax, eax
mov dword [ebp - 0x11c], 0
push str._INFO_:
mov dword [ebp - 0x118], 7
mov word [ebp - 0x12c], ax
call fcn.0040bcc0
mov byte [ebp - 4], 7
mov edi, dword [ebp - 0x118]
mov eax, edi
mov ecx, dword [ebp - 0x11c]
sub eax, ecx
mov edx, dword [esi + 0x10]
cmp edx, eax
jbe 0x4068e8
mov eax, dword [esi + 0x14]
sub eax, edx
cmp eax, ecx
jb 0x4068e8
cmp edi, 8
lea eax, [ebp - 0x12c]
push ecx
cmovae eax, dword [ebp - 0x12c]
push eax
push ecx
mov ecx, esi
call fcn.0040ace0
jmp 0x4068f4
push esi
lea ecx, [ebp - 0x12c]
call fcn.0040aae0
mov dword [ebp - 0x104], 0
xor ecx, ecx
mov dword [ebp - 0x100], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x114], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x104], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 8
push eax
call fcn.00401b50
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x100]
cmp edx, 8
jb 0x406986
mov ecx, dword [ebp - 0x114]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40697c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b3d
push edx
push ecx
call fcn.00420a59
add esp, 8
xor eax, eax
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 7
mov word [ebp - 0x114], ax
cmp edx, 8
jb 0x4069e7
mov ecx, dword [ebp - 0x12c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4069dd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b42
push edx
push ecx
call fcn.00420a59
add esp, 8
xor eax, eax
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 7
mov word [ebp - 0x12c], ax
cmp edx, 8
jb 0x406a48
mov ecx, dword [ebp - 0x144]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406a3e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b47
push edx
push ecx
call fcn.00420a59
add esp, 8
push 0x38
lea eax, [ebp - 0xb4]
push 0
push eax
call fcn.00424990
add esp, 0xc
mov dword [ebp - 0xb4], vtable.CFile.0
lea eax, [ebp - 0x7c]
mov dword [ebp - 0xac], 0
lea ecx, [ebp - 0xa8]
push eax
call fcn.0040a2b0
cmp dword [ebp - 0x68], 8
lea eax, [ebp - 0x7c]
push 0
cmovae eax, dword [ebp - 0x7c]
xorps xmm0, xmm0
push 0x80
push 2
push 0
push 1
push 0xc0000000
push eax
movlpd qword [ebp - 0x8c], xmm0
mov word [ebp - 0x84], 0x100
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xac], eax
cmp eax, 0xffffffff
je 0x406af2
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x88], ecx
mov byte [ebp - 4], 9
test eax, eax
je 0x407663
cmp eax, 0xffffffff
je 0x407663
mov ecx, dword [ebp - 0xc8]
xorps xmm0, xmm0
mov eax, dword [ebp - 0xd0]
add ecx, dword [ebp - 0xc4]
add eax, 0xc
add eax, ecx
movq qword [ebp - 0x20], xmm0
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x14]
mov dword [ebp - 0x18], 0
push eax
lea eax, [ebp - 0xb4]
push eax
movups xmmword [ebp - 0x30], xmm0
call fcn.00411a50
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x40720d
cmp eax, 0xffffffff
je 0x40720d
mov ecx, dword [ebp - 0xd8]
test ecx, ecx
je 0x407645
mov eax, dword [ecx + 8]
test eax, eax
je 0x407645
cmp eax, 0xffffffff
je 0x407645
push dword [ebp - 0xd0]
lea eax, [ebp - 0x30]
push 0
push eax
call fcn.00412050
test al, al
je 0x407645
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x407645
mov eax, dword [eax + 8]
test eax, eax
je 0x407645
cmp eax, 0xffffffff
je 0x407645
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x407645
cmp eax, 0xffffffff
je 0x407645
push 0xc
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebp - 0x30]
call fcn.00411fe0
test al, al
je 0x407645
mov eax, dword [ebp - 0x164]
lea ecx, [ebp - 0x64]
mov edx, dword [eax + 0xc]
call fcn.004041f0
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x64]
cmp dword [ebp - 0x50], 8
cmovae eax, dword [ebp - 0x64]
push eax
lea eax, [ebp - 0x180]
push str.Copying_package_file__s
push eax
call fcn.0041ec00
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x144]
push 8
xor eax, eax
mov dword [ebp - 0x134], 0
push str._INFO_:
mov dword [ebp - 0x130], 7
mov word [ebp - 0x144], ax
call fcn.0040bcc0
push esi
lea edx, [ebp - 0x144]
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x160]
call fcn.0040a950
add esp, 4
push eax
mov byte [ebp - 4], 0x1a
call fcn.00401b50
lea ecx, [ebp - 0x160]
call fcn.0040bed0
lea ecx, [ebp - 0x144]
call fcn.0040bed0
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 0x17
call fcn.0040bed0
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00405430
test al, al
jne 0x406d61
cmp dword [ebp - 0x50], 8
lea eax, [ebp - 0x64]
cmovae eax, dword [ebp - 0x64]
push eax
lea eax, [ebp - 0x180]
push str.Package_file__s_was_not_written.
push eax
call fcn.0041ec00
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x144]
push 9
xor eax, eax
mov dword [ebp - 0x134], 0
push str._ERROR_:
mov dword [ebp - 0x130], 7
mov word [ebp - 0x144], ax
call fcn.0040bcc0
push esi
lea edx, [ebp - 0x144]
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x160]
call fcn.0040a950
add esp, 4
push eax
mov byte [ebp - 4], 0x1d
call fcn.00401b50
lea ecx, [ebp - 0x160]
call fcn.0040bed0
lea ecx, [ebp - 0x144]
call fcn.0040bed0
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 0x17
call fcn.0040bed0
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 1
call fcn.004062b0
jmp 0x4070d2
mov edi, 4
cmp dword [ebp - 0x168], edi
jle 0x4070bc
nop dword [eax]
nop word [eax + eax]
mov eax, dword [ebp - 0x164]
lea ecx, [ebp - 0x160]
mov edx, dword [eax + edi*4]
call fcn.004041f0
mov byte [ebp - 4], 0x1e
cmp dword [eax + 0x14], 8
jb 0x406da0
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x144]
push str.Copying_updater_file__s
push eax
call fcn.0041ec00
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x114]
push 8
xor eax, eax
mov dword [ebp - 0x104], 0
push str._INFO_:
mov dword [ebp - 0x100], 7
mov word [ebp - 0x114], ax
call fcn.0040bcc0
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x104]
sub eax, ecx
mov edx, dword [esi + 0x10]
cmp edx, eax
jbe 0x406e2c
mov eax, dword [esi + 0x14]
sub eax, edx
cmp eax, ecx
jb 0x406e2c
cmp dword [ebp - 0x100], 8
lea eax, [ebp - 0x114]
push ecx
cmovae eax, dword [ebp - 0x114]
push eax
push ecx
mov ecx, esi
call fcn.0040ace0
jmp 0x406e38
push esi
lea ecx, [ebp - 0x114]
call fcn.0040aae0
mov dword [ebp - 0x11c], 0
xor ecx, ecx
mov dword [ebp - 0x118], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x12c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x11c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x12c]
mov byte [ebp - 4], 0x21
push eax
call fcn.00401b50
mov byte [ebp - 4], 0x20
mov edx, dword [ebp - 0x118]
cmp edx, 8
jb 0x406eca
mov ecx, dword [ebp - 0x12c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406ec0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b33
push edx
push ecx
call fcn.00420a59
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 7
mov word [ebp - 0x12c], ax
cmp edx, 8
jb 0x406f2b
mov ecx, dword [ebp - 0x114]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406f21
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b33
push edx
push ecx
call fcn.00420a59
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 7
mov word [ebp - 0x114], ax
cmp edx, 8
jb 0x406f8c
mov ecx, dword [ebp - 0x144]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406f82
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b33
push edx
push ecx
call fcn.00420a59
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x14c]
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 7
mov word [ebp - 0x144], ax
cmp edx, 8
jb 0x406fed
mov ecx, dword [ebp - 0x160]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406fe3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b33
push edx
push ecx
call fcn.00420a59
add esp, 8
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 7
mov edx, dword [eax + edi*4]
mov ecx, edx
xor eax, eax
mov word [ebp - 0x160], ax
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x407020
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x160]
call fcn.0040bcc0
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 0x22
push eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0xfc]
call fcn.00405bf0
test al, al
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x14c]
sete al
mov byte [ebp - 0x145], al
cmp edx, 8
jb 0x4070ab
mov ecx, dword [ebp - 0x160]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40709b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b33
push edx
push ecx
call fcn.00420a59
mov al, byte [ebp - 0x145]
add esp, 8
test al, al
jne 0x407111
inc edi
cmp edi, dword [ebp - 0x168]
jl 0x406d80
lea ecx, [ebp - 0x14]
mov byte [ebp - 0x83], 0
mov dword [ebp - 0x14], 0
call fcn.00406150
mov edx, dword [ebp - 0x50]
mov esi, eax
cmp edx, 8
jb 0x4071ec
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4071e2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b4c
jmp 0x4071e2
mov eax, dword [ebp - 0x164]
lea ecx, [ebp - 0x198]
mov edx, dword [eax + edi*4]
call fcn.004041f0
mov byte [ebp - 4], 0x23
cmp dword [eax + 0x14], 8
jb 0x407131
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x180]
push str.Updater_file__s_was_not_written.
push eax
call fcn.0041ec00
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x144]
push 9
xor eax, eax
mov dword [ebp - 0x134], 0
push str._ERROR_:
mov dword [ebp - 0x130], 7
mov word [ebp - 0x144], ax
call fcn.0040bcc0
push esi
lea edx, [ebp - 0x144]
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x160]
call fcn.0040a950
add esp, 4
push eax
mov byte [ebp - 4], 0x26
call fcn.00401b50
lea ecx, [ebp - 0x160]
call fcn.0040bed0
lea ecx, [ebp - 0x144]
call fcn.0040bed0
lea ecx, [ebp - 0x180]
call fcn.0040bed0
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0x17
call fcn.0040bed0
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 1
call fcn.004062b0
jmp 0x4070d2
push edx
push ecx
call fcn.00420a59
add esp, 8
xor eax, eax
mov dword [ebp - 0x54], 0
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x50], 7
mov word [ebp - 0x64], ax
call fcn.00411b10
jmp 0x407ab2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x144]
call fcn.0041eab0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x180]
push 9
xor eax, eax
mov dword [ebp - 0x170], 0
push str._failed:
mov dword [ebp - 0x16c], 7
mov word [ebp - 0x180], ax
call fcn.0040bcc0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x160]
push 9
xor eax, eax
mov dword [ebp - 0x150], 0
push str._ERROR_:
mov dword [ebp - 0x14c], 7
mov word [ebp - 0x160], ax
call fcn.0040bcc0
push str.CreateFileMapping
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x13
call fcn.0040aa60
mov dword [ebp - 0x188], 0
xor ecx, ecx
mov dword [ebp - 0x184], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x198], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x188], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0x14
mov esi, dword [ebp - 0x184]
mov eax, esi
mov ecx, dword [ebp - 0x188]
sub eax, ecx
mov edx, dword [ebp - 0x170]
cmp edx, eax
jbe 0x407322
mov eax, dword [ebp - 0x16c]
sub eax, edx
cmp eax, ecx
jb 0x407322
cmp esi, 8
lea eax, [ebp - 0x198]
push ecx
cmovae eax, dword [ebp - 0x198]
push eax
push ecx
lea ecx, [ebp - 0x180]
call fcn.0040ace0
jmp 0x407334
lea eax, [ebp - 0x180]
push eax
lea ecx, [ebp - 0x198]
call fcn.0040aae0
mov dword [ebp - 0x104], 0
xor ecx, ecx
mov dword [ebp - 0x100], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x114], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x104], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0x15
mov esi, dword [ebp - 0x100]
mov eax, esi
mov ecx, dword [ebp - 0x104]
sub eax, ecx
mov edx, dword [ebp - 0x134]
cmp edx, eax
jbe 0x4073bc
mov eax, dword [ebp - 0x130]
sub eax, edx
cmp eax, ecx
jb 0x4073bc
cmp esi, 8
lea eax, [ebp - 0x114]
push ecx
cmovae eax, dword [ebp - 0x114]
push eax
push ecx
lea ecx, [ebp - 0x144]
call fcn.0040ace0
jmp 0x4073ce
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x114]
call fcn.0040aae0
mov dword [ebp - 0x11c], 0
xor ecx, ecx
mov dword [ebp - 0x118], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x12c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x11c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x12c]
mov byte [ebp - 4], 0x16
push eax
call fcn.00401b50
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x118]
cmp edx, 8
jb 0x407460
mov ecx, dword [ebp - 0x12c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x407456
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b51
push edx
push ecx
call fcn.00420a59
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 7
mov word [ebp - 0x12c], ax
cmp edx, 8
jb 0x4074c1
mov ecx, dword [ebp - 0x114]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4074b7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b56
push edx
push ecx
call fcn.00420a59
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 7
mov word [ebp - 0x114], ax
cmp edx, 8
jb 0x407522
mov ecx, dword [ebp - 0x198]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x407518
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b5b
push edx
push ecx
call fcn.00420a59
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x14c]
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 7
mov word [ebp - 0x198], ax
cmp edx, 8
jb 0x407583
mov ecx, dword [ebp - 0x160]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x407579
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b60
push edx
push ecx
call fcn.00420a59
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x16c]
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 7
mov word [ebp - 0x160], ax
cmp edx, 8
jb 0x4075e4
mov ecx, dword [ebp - 0x180]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4075da
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b65
push edx
push ecx
call fcn.00420a59
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 7
mov word [ebp - 0x180], ax
cmp edx, 8
jb 0x407645
mov ecx, dword [ebp - 0x144]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40763b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b6a
push edx
push ecx
call fcn.00420a59
add esp, 8
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 1
call fcn.004062b0
lea ecx, [ebp - 0x30]
mov esi, eax
call fcn.00411b10
jmp 0x407ab2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x144]
call fcn.0041eab0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x180]
push 9
xor eax, eax
mov dword [ebp - 0x170], 0
push str._failed:
mov dword [ebp - 0x16c], 7
mov word [ebp - 0x180], ax
call fcn.0040bcc0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x160]
push 9
xor eax, eax
mov dword [ebp - 0x150], 0
push str._ERROR_:
mov dword [ebp - 0x14c], 7
mov word [ebp - 0x160], ax
call fcn.0040bcc0
push str.CreateFile
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0xc
call fcn.0040aa60
mov dword [ebp - 0x11c], 0
xor ecx, ecx
mov dword [ebp - 0x118], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x12c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x11c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0xd
mov esi, dword [ebp - 0x118]
mov eax, esi
mov ecx, dword [ebp - 0x11c]
sub eax, ecx
mov edx, dword [ebp - 0x170]
cmp edx, eax
jbe 0x407778
mov eax, dword [ebp - 0x16c]
sub eax, edx
cmp eax, ecx
jb 0x407778
cmp esi, 8
lea eax, [ebp - 0x12c]
push ecx
cmovae eax, dword [ebp - 0x12c]
push eax
push ecx
lea ecx, [ebp - 0x180]
call fcn.0040ace0
jmp 0x40778a
lea eax, [ebp - 0x180]
push eax
lea ecx, [ebp - 0x12c]
call fcn.0040aae0
mov dword [ebp - 0x104], 0
xor ecx, ecx
mov dword [ebp - 0x100], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x114], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x104], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0xe
mov esi, dword [ebp - 0x100]
mov eax, esi
mov ecx, dword [ebp - 0x104]
sub eax, ecx
mov edx, dword [ebp - 0x134]
cmp edx, eax
jbe 0x407812
mov eax, dword [ebp - 0x130]
sub eax, edx
cmp eax, ecx
jb 0x407812
cmp esi, 8
lea eax, [ebp - 0x114]
push ecx
cmovae eax, dword [ebp - 0x114]
push eax
push ecx
lea ecx, [ebp - 0x144]
call fcn.0040ace0
jmp 0x407824
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x114]
call fcn.0040aae0
mov dword [ebp - 0x188], 0
xor ecx, ecx
mov dword [ebp - 0x184], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x198], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x188], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x198]
mov byte [ebp - 4], 0xf
push eax
call fcn.00401b50
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x184]
cmp edx, 8
jb 0x4078b6
mov ecx, dword [ebp - 0x198]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4078ac
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b6f
push edx
push ecx
call fcn.00420a59
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 7
mov word [ebp - 0x198], ax
cmp edx, 8
jb 0x407917
mov ecx, dword [ebp - 0x114]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40790d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b74
push edx
push ecx
call fcn.00420a59
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 7
mov word [ebp - 0x114], ax
cmp edx, 8
jb 0x407978
mov ecx, dword [ebp - 0x12c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40796e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b79
push edx
push ecx
call fcn.00420a59
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x14c]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 7
mov word [ebp - 0x12c], ax
cmp edx, 8
jb 0x4079d9
mov ecx, dword [ebp - 0x160]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4079cf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b7e
push edx
push ecx
call fcn.00420a59
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x16c]
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 7
mov word [ebp - 0x160], ax
cmp edx, 8
jb 0x407a3a
mov ecx, dword [ebp - 0x180]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x407a30
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b83
push edx
push ecx
call fcn.00420a59
add esp, 8
xor eax, eax
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 7
mov word [ebp - 0x180], ax
cmp edx, 8
jb 0x407a9b
mov ecx, dword [ebp - 0x144]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x407a91
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b88
push edx
push ecx
call fcn.00420a59
add esp, 8
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x168], 1
call fcn.004062b0
mov esi, eax
lea ecx, [ebp - 0xb4]
call fcn.0040c8a0
mov edx, dword [ebp - 0x68]
cmp edx, 8
jb 0x407af7
mov ecx, dword [ebp - 0x7c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x407aed
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407b8d
push edx
push ecx
call fcn.00420a59
add esp, 8
xor eax, eax
mov dword [ebp - 0x6c], 0
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0x68], 7
mov word [ebp - 0x7c], ax
call fcn.004026e0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00420a25
mov esp, ebp
pop ebp
ret
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
int3