Function at 0x1003e360
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100888fa
mov eax, dword fs:[0]
push eax
sub esp, 0x67c
mov eax, dword [0x100b4540]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push str.debug::checkupdate::replace::check
mov dword [ebp - 0x678], 0
call fcn.100413d0
add esp, 4
lea eax, [ebp - 0x318]
push 0x100
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xorps xmm0, xmm0
mov dword [ebp - 0x4b0], 0
movups xmmword [ebp - 0x4c0], xmm0
mov dword [ebp - 0x4ac], 0xf
mov byte [ebp - 0x4c0], 0
mov byte [ebp - 0x334], 0x6f
xor ecx, ecx
mov byte [ebp - 0x333], 0x7c
mov byte [ebp - 0x332], 0x69
mov byte [ebp - 0x331], 0x67
mov byte [ebp - 0x330], 0x7b
mov byte [ebp - 0x32f], 0x69
mov byte [ebp - 0x32e], 0x36
mov byte [ebp - 0x32d], 0x6d
mov byte [ebp - 0x32c], 0x80
mov byte [ebp - 0x32b], 0x6d
mov byte [ebp - 0x32a], 0
mov al, byte [ebp - 0x334]
mov dword [ebp - 4], 0
nop dword [eax]
mov al, byte [ebp + ecx - 0x334]
sub al, 8
mov byte [ebp + ecx - 0x334], al
inc ecx
cmp ecx, 0xa
jb 0x1003e440
xorps xmm0, xmm0
mov dword [ebp - 0x450], 0
lea ecx, [ebp - 0x334]
mov dword [ebp - 0x44c], 0
movups xmmword [ebp - 0x460], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003e480
sub ecx, edx
lea eax, [ebp - 0x334]
push ecx
push eax
lea ecx, [ebp - 0x460]
call fcn.10004870
lea eax, [ebp - 0x4c0]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x460]
xorps xmm0, xmm0
push eax
sub esp, 0x18
lea ecx, [ebp - 0x318]
mov edx, esp
lea esi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003e4d0
sub ecx, esi
lea eax, [ebp - 0x318]
push ecx
push eax
mov ecx, edx
call fcn.10004870
lea eax, [ebp - 0x540]
push eax
call fcn.1005bf20
add esp, 0x24
mov ecx, dword [ebp - 0x44c]
mov byte [ebp - 4], 3
cmp ecx, 0x10
jb 0x1003e535
mov edx, dword [ebp - 0x460]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003e52b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f67d
push ecx
push edx
call fcn.1005e1a2
add esp, 8
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x44c], 0xf
mov byte [ebp - 0x460], 0
lea ecx, [ebp - 0x4c0]
mov byte [ebp - 4], 4
call fcn.10004e50
lea eax, [ebp - 0x540]
xor edi, edi
push eax
lea ecx, [ebp - 0x590]
call fcn.1003aea0
push edi
lea eax, [ebp - 0x590]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x600]
call fcn.1003cc30
lea ecx, [ebp - 0x590]
mov byte [ebp - 4], 7
call fcn.100111d0
lea eax, [ebp - 0x600]
push eax
lea ecx, [ebp - 0x578]
call fcn.1003cb90
lea eax, [ebp - 0x600]
push eax
lea eax, [ebp - 0x670]
push eax
call fcn.10047600
add esp, 8
mov byte [ebp - 4], 9
nop word [eax + eax]
mov eax, dword [ebp - 0x670]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x578]
mov ecx, dword [ecx + 8]
mov eax, dword [eax]
mov eax, dword [eax + 8]
test eax, eax
je 0x1003e5f4
test ecx, ecx
je 0x1003e5fc
mov eax, dword [eax]
cmp eax, dword [ecx]
jmp 0x1003e5f6
test ecx, ecx
je 0x1003e9b6
cmp dword [ebp - 0x55c], 8
lea ecx, [ebp - 0x688]
lea eax, [ebp - 0x570]
cmovae eax, dword [ebp - 0x570]
push ecx
push eax
call fcn.1005dc38
add esp, 8
cmp eax, 1
jne 0x1003e713
mov dword [ebp - 0x358], 0x5a
xor edx, edx
mov byte [ebp - 0x354], 0x74
mov byte [ebp - 0x353], 0x3b
mov byte [ebp - 0x352], 0x39
mov byte [ebp - 0x351], 0x35
mov byte [ebp - 0x350], 0x36
mov byte [ebp - 0x34f], 0x3e
mov al, byte [ebp - 0x354]
mov byte [ebp - 0x34e], 0
nop dword [eax]
mov al, byte [ebp + edx - 0x354]
mov ecx, dword [ebp - 0x358]
xor cl, al
mov byte [ebp + edx - 0x354], cl
inc edx
cmp edx, 6
jb 0x1003e670
lea eax, [ebp - 0x354]
mov byte [ebp - 0x34e], 0
push eax
lea ecx, [ebp - 0x3e8]
call fcn.1000a3c0
mov esi, dword [ebp - 0x678]
lea eax, [ebp - 0x4d8]
or esi, 1
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x570]
mov dword [ebp - 0x678], esi
call fcn.100254e0
or esi, 2
lea ecx, [ebp - 0x3e8]
mov dword [ebp - 0x678], esi
mov esi, dword [ebp - 0x3d4]
cmp esi, 8
mov edx, dword [eax + 0x10]
cmovae ecx, dword [ebp - 0x3e8]
cmp dword [eax + 0x14], 8
jb 0x1003e6f4
mov eax, dword [eax]
cmp edx, dword [ebp - 0x3d8]
jne 0x1003e719
push edx
push ecx
push eax
call fcn.10024fc0
add esp, 0xc
test eax, eax
jne 0x1003e719
mov byte [ebp - 0x671], al
jmp 0x1003e720
mov esi, dword [ebp - 0x3d4]
mov byte [ebp - 0x671], 1
mov eax, dword [ebp - 0x678]
test al, 2
je 0x1003e79c
mov ecx, dword [ebp - 0x4c4]
and eax, 0xfffffffd
mov dword [ebp - 0x678], eax
cmp ecx, 8
jb 0x1003e77f
mov edx, dword [ebp - 0x4d8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1003e769
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f67d
push ecx
push edx
call fcn.1005e1a2
mov esi, dword [ebp - 0x3d4]
add esp, 8
mov eax, dword [ebp - 0x678]
xor ecx, ecx
mov dword [ebp - 0x4c8], 0
mov dword [ebp - 0x4c4], 7
mov word [ebp - 0x4d8], cx
mov dword [ebp - 4], 9
test al, 1
je 0x1003e807
and eax, 0xfffffffe
mov dword [ebp - 0x678], eax
cmp esi, 8
jb 0x1003e7ea
mov ecx, dword [ebp - 0x3e8]
lea esi, [esi*2 + 2]
mov eax, ecx
cmp esi, 0x1000
jb 0x1003e7e0
mov ecx, dword [eax - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f67d
push esi
push ecx
call fcn.1005e1a2
add esp, 8
xor eax, eax
mov dword [ebp - 0x3d8], 0
mov dword [ebp - 0x3d4], 7
mov word [ebp - 0x3e8], ax
cmp byte [ebp - 0x671], 0
jne 0x1003e9a6
xorps xmm0, xmm0
mov dword [ebp - 0x468], 0
movups xmmword [ebp - 0x478], xmm0
mov dword [ebp - 0x464], 0xf
mov byte [ebp - 0x478], 0
cmp dword [ebp - 0x55c], 8
lea ecx, [ebp - 0x218]
lea eax, [ebp - 0x570]
mov byte [ebp - 4], 0xb
cmovae eax, dword [ebp - 0x570]
push ecx
push eax
call fcn.1005dcc8
add esp, 8
test eax, eax
je 0x1003f682
lea ecx, [ebp - 0x218]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003e872
sub ecx, edx
lea eax, [ebp - 0x218]
push ecx
push eax
lea ecx, [ebp - 0x478]
call fcn.10024840
or dword [ebp - 0x678], 0x20
xorps xmm0, xmm0
movups xmmword [ebp - 0x3b8], xmm0
mov dword [ebp - 0x3a8], 0
mov dword [ebp - 0x3a4], 0
movups xmm0, xmmword [eax]
mov byte [ebp - 4], 9
movups xmmword [ebp - 0x3b8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x3a8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0x464]
cmp ecx, 0x10
jb 0x1003e919
mov edx, dword [ebp - 0x478]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003e90f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f67d
push ecx
push edx
call fcn.1005e1a2
add esp, 8
cmp dword [ebp - 0x3a4], 0x10
lea eax, [ebp - 0x3b8]
mov dword [ebp - 0x468], 0
cmovae eax, dword [ebp - 0x3b8]
push eax
mov dword [ebp - 0x464], 0xf
mov byte [ebp - 0x478], 0
call fcn.1006e15f
mov ecx, dword [ebp - 0x3a4]
add esp, 4
cmp ecx, 0x10
jb 0x1003e98b
mov edx, dword [ebp - 0x3b8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003e981
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f67d
push ecx
push edx
call fcn.1005e1a2
add esp, 8
mov dword [ebp - 0x3a8], 0
mov dword [ebp - 0x3a4], 0xf
mov byte [ebp - 0x3b8], 0
lea ecx, [ebp - 0x578]
call fcn.10011920
jmp 0x1003e5d0
lea ecx, [ebp - 0x670]
call fcn.10011760
lea ecx, [ebp - 0x578]
call fcn.10011760
lea ecx, [ebp - 0x600]
mov byte [ebp - 4], 4
call fcn.10011760
lea eax, [ebp - 0x540]
push eax
lea ecx, [ebp - 0x4a8]
call fcn.1003aea0
push 0
lea eax, [ebp - 0x4a8]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x5c8]
call fcn.1003cc30
mov ecx, dword [ebp - 0x494]
mov byte [ebp - 4], 0xe
cmp ecx, 8
jb 0x1003ea49
mov edx, dword [ebp - 0x4a8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1003ea3f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f68c
push ecx
push edx
call fcn.1005e1a2
add esp, 8
xor eax, eax
mov dword [ebp - 0x498], 0
mov word [ebp - 0x4a8], ax
lea ecx, [ebp - 0x528]
lea eax, [ebp - 0x5c8]
mov dword [ebp - 0x494], 7
push eax
call fcn.1003cb90
lea eax, [ebp - 0x5c8]
push eax
lea eax, [ebp - 0x638]
push eax
call fcn.10047600
add esp, 8
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x638]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x528]
mov ecx, dword [ecx + 8]
mov eax, dword [eax]
mov eax, dword [eax + 8]
test eax, eax
je 0x1003eab6
test ecx, ecx
je 0x1003eabe
mov eax, dword [eax]
cmp eax, dword [ecx]
jmp 0x1003eab8
test ecx, ecx
je 0x1003f609
cmp dword [ebp - 0x50c], 8
lea ecx, [ebp - 0x684]
lea eax, [ebp - 0x520]
cmovae eax, dword [ebp - 0x520]
push ecx
push eax
call fcn.1005dc38
add esp, 8
cmp eax, 1
jne 0x1003ec55
mov dword [ebp - 0x328], 0x2a
mov eax, dword [ebp - 0x328]
xor al, 0x2e
mov byte [ebp - 0x324], al
mov eax, dword [ebp - 0x328]
inc al
xor al, 0x61
mov byte [ebp - 0x323], al
mov eax, dword [ebp - 0x328]
add al, 2
xor al, 0x63
mov byte [ebp - 0x322], al
mov eax, dword [ebp - 0x328]
add al, 3
xor al, 0x72
mov byte [ebp - 0x321], al
mov eax, dword [ebp - 0x328]
add al, 4
xor al, 0x65
mov byte [ebp - 0x320], al
mov eax, dword [ebp - 0x328]
add al, 5
xor al, 0x70
mov byte [ebp - 0x31f], al
mov eax, dword [ebp - 0x328]
add al, 6
xor al, 0x6c
mov byte [ebp - 0x31e], al
mov eax, dword [ebp - 0x328]
add al, 7
xor al, 0x61
mov byte [ebp - 0x31d], al
mov eax, dword [ebp - 0x328]
add al, 8
xor al, 0x63
mov byte [ebp - 0x31c], al
mov eax, dword [ebp - 0x328]
add al, 9
mov byte [ebp - 0x31a], 0
xor al, 0x65
xor edx, edx
mov byte [ebp - 0x31b], al
mov al, byte [ebp - 0x324]
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + edx - 0x324]
mov ecx, dword [ebp - 0x328]
add cl, dl
xor cl, al
mov byte [ebp + edx - 0x324], cl
inc edx
cmp edx, 0xa
jb 0x1003ebb0
lea eax, [ebp - 0x324]
mov byte [ebp - 0x31a], 0
push eax
lea ecx, [ebp - 0x400]
call fcn.1000a3c0
mov esi, dword [ebp - 0x678]
lea eax, [ebp - 0x4f0]
or esi, 4
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x520]
mov dword [ebp - 0x678], esi
call fcn.100254e0
or esi, 8
lea ecx, [ebp - 0x400]
mov dword [ebp - 0x678], esi
mov esi, dword [ebp - 0x3ec]
cmp esi, 8
mov edx, dword [eax + 0x10]
cmovae ecx, dword [ebp - 0x400]
cmp dword [eax + 0x14], 8
jb 0x1003ec36
mov eax, dword [eax]
cmp edx, dword [ebp - 0x3f0]
jne 0x1003ec5b
push edx
push ecx
push eax
call fcn.10024fc0
add esp, 0xc
test eax, eax
jne 0x1003ec5b
mov byte [ebp - 0x671], al
jmp 0x1003ec62
mov esi, dword [ebp - 0x3ec]
mov byte [ebp - 0x671], 1
mov eax, dword [ebp - 0x678]
test al, 8
je 0x1003ecde
mov ecx, dword [ebp - 0x4dc]
and eax, 0xfffffff7
mov dword [ebp - 0x678], eax
cmp ecx, 8
jb 0x1003ecc1
mov edx, dword [ebp - 0x4f0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1003ecab
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f67d
push ecx
push edx
call fcn.1005e1a2
mov esi, dword [ebp - 0x3ec]
add esp, 8
mov eax, dword [ebp - 0x678]
xor ecx, ecx
mov dword [ebp - 0x4e0], 0
mov dword [ebp - 0x4dc], 7
mov word [ebp - 0x4f0], cx
mov dword [ebp - 4], 0x10
test al, 4
je 0x1003ed49
and eax, 0xfffffffb
mov dword [ebp - 0x678], eax
cmp esi, 8
jb 0x1003ed2c
mov ecx, dword [ebp - 0x400]
lea esi, [esi*2 + 2]
mov eax, ecx
cmp esi, 0x1000
jb 0x1003ed22
mov ecx, dword [eax - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f67d
push esi
push ecx
call fcn.1005e1a2
add esp, 8
xor eax, eax
mov dword [ebp - 0x3f0], 0
mov dword [ebp - 0x3ec], 7
mov word [ebp - 0x400], ax
cmp byte [ebp - 0x671], 0
jne 0x1003f4b0
xorps xmm0, xmm0
mov dword [ebp - 0x480], 0
movups xmmword [ebp - 0x490], xmm0
mov dword [ebp - 0x47c], 0xf
mov byte [ebp - 0x490], 0
cmp dword [ebp - 0x50c], 8
lea ecx, [ebp - 0x114]
lea eax, [ebp - 0x520]
mov byte [ebp - 4], 0x12
cmovae eax, dword [ebp - 0x520]
push ecx
push eax
call fcn.1005dcc8
add esp, 8
test eax, eax
je 0x1003f682
lea ecx, [ebp - 0x114]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003edb4
sub ecx, edx
lea eax, [ebp - 0x114]
push ecx
push eax
lea ecx, [ebp - 0x490]
call fcn.10024840
or dword [ebp - 0x678], 0x10
xorps xmm0, xmm0
movups xmmword [ebp - 0x370], xmm0
mov dword [ebp - 0x360], 0
mov dword [ebp - 0x35c], 0
movups xmm0, xmmword [eax]
mov byte [ebp - 4], 0x10
movups xmmword [ebp - 0x370], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x360], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0x47c]
cmp ecx, 0x10
jb 0x1003ee5b
mov edx, dword [ebp - 0x490]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003ee51
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f67d
push ecx
push edx
call fcn.1005e1a2
add esp, 8
mov dword [ebp - 0x480], 0
mov dword [ebp - 0x47c], 0xf
mov byte [ebp - 0x490], 0
xorps xmm0, xmm0
mov dword [ebp - 0x420], 0
movups xmmword [ebp - 0x430], xmm0
mov dword [ebp - 0x41c], 0xf
mov byte [ebp - 0x430], 0
mov byte [ebp - 0x340], 0x3a
xor ecx, ecx
mov byte [ebp - 0x33f], 0x6d
mov byte [ebp - 0x33e], 0x6f
mov byte [ebp - 0x33d], 0x7e
mov byte [ebp - 0x33c], 0x71
mov byte [ebp - 0x33b], 0x7c
mov byte [ebp - 0x33a], 0x78
mov byte [ebp - 0x339], 0x6d
mov byte [ebp - 0x338], 0x6f
mov byte [ebp - 0x337], 0x71
mov byte [ebp - 0x336], 0
mov al, byte [ebp - 0x340]
mov byte [ebp - 4], 0x14
nop dword [eax]
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x340]
sub al, 0xc
mov byte [ebp + ecx - 0x340], al
inc ecx
cmp ecx, 0xa
jb 0x1003ef00
xorps xmm0, xmm0
mov dword [ebp - 0x408], 0
lea ecx, [ebp - 0x340]
mov dword [ebp - 0x404], 0
movups xmmword [ebp - 0x418], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003ef40
sub ecx, edx
lea eax, [ebp - 0x340]
push ecx
push eax
lea ecx, [ebp - 0x418]
call fcn.10004870
lea eax, [ebp - 0x430]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x418]
xorps xmm0, xmm0
push eax
sub esp, 0x18
lea ecx, [ebp - 0x370]
mov edi, esp
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp dword [ebp - 0x35c], 0x10
mov eax, dword [ebp - 0x360]
cmovae ecx, dword [ebp - 0x370]
mov dword [ebp - 0x680], eax
mov dword [ebp - 0x67c], ecx
cmp eax, 0x7fffffff
ja 0x1003f696
mov dword [edi + 0x14], 0xf
cmp eax, 0x10
jae 0x1003efcf
mov dword [edi + 0x10], eax
movups xmm0, xmmword [ecx]
movups xmmword [edi], xmm0
jmp 0x1003f018
mov esi, eax
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x1003efe3
mov esi, 0x7fffffff
jmp 0x1003efee
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
mov ecx, edi
push eax
call fcn.10005270
mov ecx, dword [ebp - 0x680]
mov dword [edi + 0x10], ecx
inc ecx
push ecx
push dword [ebp - 0x67c]
mov dword [edi], eax
push eax
mov dword [edi + 0x14], esi
call fcn.1005f5c0
add esp, 0xc
lea eax, [ebp - 0x388]
push eax
call fcn.1005bf20
add esp, 0x24
mov ecx, dword [ebp - 0x404]
mov byte [ebp - 4], 0x17
cmp ecx, 0x10
jb 0x1003f065
mov edx, dword [ebp - 0x418]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003f05b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f67d
push ecx
push edx
call fcn.1005e1a2
add esp, 8
mov dword [ebp - 0x408], 0
mov dword [ebp - 0x404], 0xf
mov byte [ebp - 0x418], 0
mov ecx, dword [ebp - 0x41c]
mov byte [ebp - 4], 0x18
cmp ecx, 0x10
jb 0x1003f0be
mov edx, dword [ebp - 0x430]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003f0b4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f67d
push ecx
push edx
call fcn.1005e1a2
add esp, 8
mov eax, dword [str..acold]
xorps xmm0, xmm0
movups xmmword [ebp - 0x3d0], xmm0
mov dword [ebp - 0x3d0], eax
mov ax, word [0x100906d8]
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x41c], 0xf
mov byte [ebp - 0x430], 0
mov dword [ebp - 0x3c0], 6
mov dword [ebp - 0x3bc], 0xf
mov word [ebp - 0x3cc], ax
mov byte [ebp - 0x3ca], 0
mov byte [ebp - 0x34c], 0x30
xor ecx, ecx
mov byte [ebp - 0x34b], 0x63
mov byte [ebp - 0x34a], 0x65
mov byte [ebp - 0x349], 0x74
mov byte [ebp - 0x348], 0x67
mov byte [ebp - 0x347], 0x72
mov byte [ebp - 0x346], 0x6e
mov byte [ebp - 0x345], 0x63
mov byte [ebp - 0x344], 0x65
mov byte [ebp - 0x343], 0x67
mov byte [ebp - 0x342], 0
mov al, byte [ebp - 0x34c]
mov byte [ebp - 4], 0x19
nop
mov al, byte [ebp + ecx - 0x34c]
sub al, 2
mov byte [ebp + ecx - 0x34c], al
inc ecx
cmp ecx, 0xa
jb 0x1003f170
xorps xmm0, xmm0
mov dword [ebp - 0x438], 0
lea ecx, [ebp - 0x34c]
mov dword [ebp - 0x434], 0
movups xmmword [ebp - 0x448], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003f1b0
sub ecx, edx
lea eax, [ebp - 0x34c]
push ecx
push eax
lea ecx, [ebp - 0x448]
call fcn.10004870
lea eax, [ebp - 0x3d0]
mov byte [ebp - 4], 0x1a
push eax
lea eax, [ebp - 0x448]
xorps xmm0, xmm0
push eax
sub esp, 0x18
lea ecx, [ebp - 0x370]
mov edi, esp
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp dword [ebp - 0x35c], 0x10
mov eax, dword [ebp - 0x360]
cmovae ecx, dword [ebp - 0x370]
mov dword [ebp - 0x67c], eax
mov dword [ebp - 0x680], ecx
cmp eax, 0x7fffffff
ja 0x1003f696
mov dword [edi + 0x14], 0xf
cmp eax, 0x10
jae 0x1003f23f
mov dword [edi + 0x10], eax
movups xmm0, xmmword [ecx]
movups xmmword [edi], xmm0
jmp 0x1003f288
mov esi, eax
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x1003f253
mov esi, 0x7fffffff
jmp 0x1003f25e
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
mov ecx, edi
push eax
call fcn.10005270
mov ecx, dword [ebp - 0x67c]
mov dword [edi + 0x10], ecx
inc ecx
push ecx
push dword [ebp - 0x680]
mov dword [edi], eax
push eax
mov dword [edi + 0x14], esi
call fcn.1005f5c0
add esp, 0xc
lea eax, [ebp - 0x3a0]
push eax
call fcn.1005bf20
mov ecx, dword [ebp - 0x434]
add esp, 0x24
mov byte [ebp - 4], 0x19
cmp ecx, 0x10
jb 0x1003f2d5
mov edx, dword [ebp - 0x448]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003f2cb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f67d
push ecx
push edx
call fcn.1005e1a2
add esp, 8
mov ecx, dword [ebp - 0x3bc]
mov dword [ebp - 0x438], 0
mov dword [ebp - 0x434], 0xf
mov byte [ebp - 0x448], 0
mov byte [ebp - 4], 0x18
cmp ecx, 0x10
jb 0x1003f32e
mov edx, dword [ebp - 0x3d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003f324
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f67d
push ecx
push edx
call fcn.1005e1a2
add esp, 8
cmp dword [ebp - 0x38c], 0x10
lea ecx, [ebp - 0x3a0]
lea eax, [ebp - 0x388]
mov dword [ebp - 0x3c0], 0
cmovae ecx, dword [ebp - 0x3a0]
cmp dword [ebp - 0x374], 0x10
push ecx
cmovae eax, dword [ebp - 0x388]
push eax
mov dword [ebp - 0x3bc], 0xf
mov byte [ebp - 0x3d0], 0
call fcn.1006f4eb
add esp, 8
cmp eax, 0xffffffff
je 0x1003f4c7
cmp dword [ebp - 0x374], 0x10
lea ecx, [ebp - 0x388]
lea eax, [ebp - 0x370]
cmovae ecx, dword [ebp - 0x388]
cmp dword [ebp - 0x35c], 0x10
push ecx
cmovae eax, dword [ebp - 0x370]
push eax
call fcn.1006f4eb
add esp, 8
cmp eax, 0xffffffff
je 0x1003f4c0
mov ecx, dword [ebp - 0x38c]
mov edi, 1
cmp ecx, 0x10
jb 0x1003f3fe
mov edx, dword [ebp - 0x3a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003f3f4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f691
push ecx
push edx
call fcn.1005e1a2
add esp, 8
mov ecx, dword [ebp - 0x374]
mov dword [ebp - 0x390], 0
mov dword [ebp - 0x38c], 0xf
mov byte [ebp - 0x3a0], 0
mov byte [ebp - 4], 0x13
cmp ecx, 0x10
jb 0x1003f457
mov edx, dword [ebp - 0x388]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003f44d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f691
push ecx
push edx
call fcn.1005e1a2
add esp, 8
mov ecx, dword [ebp - 0x35c]
mov dword [ebp - 0x378], 0
mov dword [ebp - 0x374], 0xf
mov byte [ebp - 0x388], 0
mov byte [ebp - 4], 0x10
cmp ecx, 0x10
jb 0x1003f4b0
mov edx, dword [ebp - 0x370]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003f4a6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f691
push ecx
push edx
call fcn.1005e1a2
add esp, 8
lea ecx, [ebp - 0x528]
call fcn.10011920
jmp 0x1003ea92
mov esi, str.debug::checkupdate::replace::error2::_s
jmp 0x1003f4cc
mov esi, str.debug::checkupdate::replace::error::_s
call fcn.1006dfc6
push dword [eax]
call fcn.1006f34f
push eax
push esi
call fcn.100413d0
mov ecx, dword [ebp - 0x38c]
add esp, 0xc
cmp ecx, 0x10
jb 0x1003f51c
mov edx, dword [ebp - 0x3a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003f512
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f691
push ecx
push edx
call fcn.1005e1a2
add esp, 8
mov ecx, dword [ebp - 0x374]
mov dword [ebp - 0x390], 0
mov dword [ebp - 0x38c], 0xf
mov byte [ebp - 0x3a0], 0
cmp ecx, 0x10
jb 0x1003f571
mov edx, dword [ebp - 0x388]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003f567
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f691
push ecx
push edx
call fcn.1005e1a2
add esp, 8
mov ecx, dword [ebp - 0x35c]
mov dword [ebp - 0x378], 0
mov dword [ebp - 0x374], 0xf
mov byte [ebp - 0x388], 0
cmp ecx, 0x10
jb 0x1003f5c6
mov edx, dword [ebp - 0x370]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003f5bc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f691
push ecx
push edx
call fcn.1005e1a2
add esp, 8
lea ecx, [ebp - 0x638]
mov dword [ebp - 0x360], 0
mov dword [ebp - 0x35c], 0xf
mov byte [ebp - 0x370], 0
call fcn.10011760
lea ecx, [ebp - 0x528]
call fcn.10011760
lea ecx, [ebp - 0x5c8]
call fcn.10011760
mov edi, 2
jmp 0x1003f62a
lea ecx, [ebp - 0x638]
call fcn.10011760
lea ecx, [ebp - 0x528]
call fcn.10011760
lea ecx, [ebp - 0x5c8]
call fcn.10011760
mov ecx, dword [ebp - 0x52c]
cmp ecx, 0x10
jb 0x1003f660
mov edx, dword [ebp - 0x540]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003f656
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f69b
push ecx
push edx
call fcn.1005e1a2
add esp, 8
mov eax, edi
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.1005e15b
mov esp, ebp
pop ebp
ret
call fcn.100633c1
push str.invalid_wchar_t_filename_argument
call fcn.1005cff3
call fcn.100633c1
call fcn.100633c1
call fcn.10005250
call fcn.100633c1
int3