Function at 0x41a23a
Capabilities:
Delete file
Get common file path
Move file

Disassembly:
mov eax, 0x485040
call fcn.0046cde8
mov eax, 0x2110
call fcn.0046cee9
mov eax, dword [0x492bc0]
or dword [ebp - 0x1bf4], 0xffffffff
or dword [ebp - 0x1bf0], 0xffffffff
push ebx
push esi
push edi
mov dword [ebp - 0x1bc0], ecx
xor edi, edi
lea ecx, [ebp - 0x1fc4]
mov dword [ebp - 0x10], eax
xor ebx, ebx
mov dword [ebp - 0x1c00], edi
call fcn.0046a94e
lea ecx, [ebp - 0x211c]
mov dword [ebp - 4], edi
call fcn.0046a94e
lea ecx, [ebp - 0x1d84]
mov byte [ebp - 4], 1
mov dword [ebp - 0x1be8], edi
mov dword [ebp - 0x1bc8], edi
mov dword [ebp - 0x1bf8], edi
mov dword [ebp - 0x1be4], edi
mov dword [ebp - 0x1c04], edi
mov dword [ebp - 0x1c0c], edi
mov dword [ebp - 0x1c08], edi
mov dword [ebp - 0x1bdc], edi
mov dword [ebp - 0x1bbc], edi
call fcn.00419877
mov dword [ebp - fcn.0046fc8d], 0x402b4c
lea ecx, [ebp - 0x1e50]
mov byte [ebp - 4], 2
call fcn.0040b58d
lea ecx, [ebp - 0x1dc4]
mov byte [ebp - 4], 3
call fcn.004719a6
mov esi, 0x402ae4
mov dword [ebp - 0x1dc4], esi
lea ecx, [ebp - 0x1d00]
mov byte [ebp - 4], 4
call fcn.004719a6
mov dword [ebp - 0x1d00], esi
lea ecx, [ebp - 0x3cc]
mov byte [ebp - 4], 5
call fcn.0046d723
mov dword [ebp - 0x3cc], 0x402af8
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 6
call fcn.0046d723
mov dword [ebp - 0x474], 0x402b00
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 7
call fcn.0046d723
mov dword [ebp - 0x27c], 0x402b08
lea ecx, [ebp - 0x324]
mov byte [ebp - 4], 8
call fcn.0046d723
mov dword [ebp - 0x324], 0x402b10
mov esi, dword [ebp - 0x1bc0]
push esi
lea ecx, [ebp - 0x530]
mov byte [ebp - 4], 9
call fcn.0041ee87
lea ecx, [ebp - 0x1cbc]
mov byte [ebp - 4], 0xa
call fcn.004196a2
mov ecx, esi
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x1c80], edi
mov dword [ebp - 0x1c84], edi
call fcn.00447107
lea eax, [ebp - 0xf58]
push eax
push 0x104
mov dword [esi + 0x2208], 2
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x41a3e7
mov ebx, 0x80004005
jmp 0x41a720
lea eax, [ebp - 0xd50]
push eax
push edi
push 0x402b74
lea eax, [ebp - 0xf58]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
je 0x41a3dd
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileW]
push edi
push 0x10000100
push 2
push edi
push 1
push 0xc0000000
lea eax, [ebp - 0xd50]
push eax
call esi
cmp eax, 0xffffffff
mov dword [ebp - 0x1bf4], eax
jne 0x41a446
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0042f6c9
mov ebx, eax
cmp ebx, edi
pop ecx
jl 0x41a720
mov eax, dword [ebp - 0x1bc0]
cmp byte [eax + 0x1c], 0
je 0x41a4b0
lea eax, [ebp - 0x1160]
push eax
push edi
push 0x402b6c
lea eax, [ebp - 0xf58]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
jne 0x41a475
mov ebx, 0x80004005
cmp ebx, edi
jl 0x41a720
push edi
push 0x10000100
push 2
push edi
push 1
push 0xc0000000
lea eax, [ebp - 0x1160]
push eax
call esi
cmp eax, 0xffffffff
mov dword [ebp - 0x1bf0], eax
jne 0x41a4b0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0042f6c9
pop ecx
mov ebx, eax
cmp ebx, edi
jl 0x41a720
push 1
call fcn.004456d0
pop ecx
push 1
push edi
mov esi, eax
push esi
push dword [ebp - 0x1bf4]
lea ecx, [ebp - 0x1fc4]
call fcn.0046b38c
mov ebx, eax
cmp ebx, edi
jl 0x41a720
mov eax, dword [ebp - 0x1bc0]
cmp byte [eax + 0x1c], 0
je 0x41a50c
push 1
push edi
push esi
push dword [ebp - 0x1bf0]
lea ecx, [ebp - 0x211c]
call fcn.0046b38c
mov ebx, eax
lea eax, [ebp - 0x211c]
jmp 0x41a512
lea eax, [ebp - 0x1fc4]
cmp ebx, edi
mov dword [ebp - 0x1be8], eax
jl 0x41a720
lea ecx, [ebp - 0x1fc4]
call fcn.0046b071
mov ebx, eax
cmp ebx, edi
jl 0x41a720
lea eax, [ebp - 0x1bc8]
push eax
push edi
lea ecx, [ebp - 0x1fc4]
call fcn.0046c64c
mov ebx, eax
cmp ebx, edi
jl 0x41a720
mov ecx, dword [ebp - 0x1bc0]
lea eax, [ebp - 0x1c8c]
push eax
push 1
push dword [ebp - 0x1bc8]
add ecx, 0x1b58
call fcn.00471834
mov ebx, eax
cmp ebx, edi
jl 0x41a720
mov esi, dword [ebp - 0x1bc8]
call fcn.004197c4
push 2
push 1
push dword [ebp - 0x1bc8]
lea ecx, [ebp - 0x1d84]
call fcn.00419e5e
mov ebx, eax
mov eax, dword [ebp - 0x1bc8]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp ebx, edi
jl 0x41a720
mov edx, dword [ebp - 0x1d7c]
mov ecx, dword [ebp - 0x1bc0]
mov eax, edx
imul eax, eax, 7
cmp byte [ecx + 0x1c], 0
je 0x41a5cb
add eax, edx
mov ecx, dword [ecx + 0x1be4]
lea eax, [eax + ecx*2]
push edx
push eax
push dword [ebp + 8]
mov dword [ebp - 0x1bdc], eax
mov dword [ebp - 0x1bbc], edx
call fcn.00419d9a
mov ebx, eax
add esp, 0xc
cmp ebx, edi
jl 0x41a720
mov ecx, dword [ebp - 0x1be8]
lea eax, [ebp - 0x1bc8]
push eax
push 1
call fcn.0046c64c
mov ebx, eax
cmp ebx, edi
jl 0x41a720
mov ecx, dword [ebp - 0x1bc0]
lea eax, [ebp - 0x1c8c]
push eax
push edi
push dword [ebp - 0x1bc8]
add ecx, 0x1bdc
call fcn.00471834
mov ebx, eax
cmp ebx, edi
jl 0x41a720
mov esi, dword [ebp - 0x1bc8]
call fcn.004197c4
push 2
push 1
push dword [ebp - 0x1bc8]
lea ecx, [ebp - 0x1e50]
call fcn.00419ebf
mov ebx, eax
mov eax, dword [ebp - 0x1bc8]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp ebx, edi
jl 0x41a720
mov ebx, dword [ebp - 0x1e48]
mov esi, dword [ebp - 0x1bc0]
jmp 0x41a6cf
push esi
push ebx
lea eax, [ebp - 0x1e50]
push eax
lea ecx, [ebp - 0x1c7c]
call fcn.0040af4a
or dword [ebp - 0x1c64], 1
and dword [ebp - 0x1c24], 0xfffffffd
push edi
lea ecx, [ebp - 0x1c7c]
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x1c40], edi
mov dword [ebp - 0x1c44], edi
call fcn.00470395
lea ecx, [ebp - 0x1c7c]
mov byte [ebp - 4], 0xb
call fcn.0040afdb
inc ebx
cmp ebx, dword [esi + 0x1be4]
jbe 0x41a682
lea eax, [ebp - 0x1bf8]
push eax
push 2
lea ecx, [ebp - 0x1fc4]
call fcn.0046c64c
mov ebx, eax
cmp ebx, edi
jl 0x41a720
push dword [ebp - 0x1bf8]
lea ecx, [ebp - 0x1dc4]
call fcn.00471fcd
mov ebx, eax
cmp ebx, edi
jl 0x41a720
lea eax, [ebp - 0x1dc4]
push eax
lea eax, [ebp - 0x1c84]
push eax
mov ecx, esi
call fcn.00445bc0
mov ebx, eax
cmp ebx, edi
mov dword [ebp - 0x1bb8], 1
jl 0x41aa4f
mov esi, dword [ebp - 0x1bc0]
mov eax, dword [ebp - 0x1bb8]
cmp eax, dword [ebp - 0x1d7c]
ja 0x41aa08
push esi
push eax
lea eax, [ebp - 0x1d84]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0042eb1a
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0xd
call fcn.00470235
mov ebx, eax
cmp ebx, edi
jl 0x41a961
mov eax, dword [ebp - 0xc8]
or eax, dword [ebp - 0xcc]
je 0x41a944
lea eax, [ebp - 0x1bc4]
push eax
push dword [ebp - 0xc8]
lea ecx, [esi + 0x1c68]
push dword [ebp - 0xcc]
call fcn.0047288d
mov ebx, eax
cmp ebx, edi
jl 0x41a961
cmp dword [ebp - 0x1bc4], 0xf4240
jbe 0x41a7c2
mov ebx, 0x8004022d
cmp ebx, edi
jl 0x41a961
mov eax, dword [esi + 0x1fb0]
mov ecx, dword [eax]
push edi
push dword [ebp - 0x1bc4]
push eax
call dword [ecx + 0x18]
mov ebx, eax
cmp ebx, edi
jl 0x41a961
mov eax, dword [esi + 0x1fa4]
mov ecx, dword [eax]
push edi
push edi
push dword [ebp - 0xc8]
push dword [ebp - 0xcc]
push eax
call dword [ecx + 0x14]
mov ebx, eax
cmp ebx, edi
jl 0x41a961
push dword [esi + 0x1fac]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
lea edx, [ebp - 0x1bfc]
push edx
push dword [ebp - 0x1bc4]
mov dword [ebp - 0x1bec], eax
mov eax, dword [esi + 0x1fa4]
push dword [ebp - 0x1bec]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
mov ecx, dword [ebp - 0x1bc4]
mov ebx, eax
cmp ebx, edi
jl 0x41a855
cmp dword [ebp - 0x1bfc], ecx
je 0x41a855
mov ebx, 0x8003001e
mov eax, dword [ebp - 0x1bec]
add ecx, eax
cmp eax, ecx
mov dword [ebp - 0x1bd0], edi
mov dword [ebp - 0x1bcc], eax
je 0x41a88a
mov eax, dword [ebp - 0x1bcc]
movzx eax, byte [eax]
add dword [ebp - 0x1bd0], eax
inc dword [ebp - 0x1bcc]
cmp dword [ebp - 0x1bcc], ecx
jne 0x41a86d
push dword [esi + 0x1fac]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp ebx, edi
jl 0x41a961
mov eax, dword [ebp - 0x1bd0]
cmp eax, dword [ebp - 0x44]
jne 0x41a93f
push edi
lea eax, [ebp - 0x1c14]
push eax
lea eax, [ebp - 0x1bd8]
push eax
push dword [ebp - 0x1bc4]
lea ecx, [ebp - 0x1dc4]
call fcn.0047227d
mov ebx, eax
cmp ebx, edi
jge 0x41a8e9
mov eax, dword [0x4054a8]
mov dword [ebp - 0x1bd8], eax
mov eax, dword [0x4054ac]
mov dword [ebp - 0x1bd4], eax
cmp ebx, edi
mov eax, dword [ebp - 0x1bd8]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x1bd4]
mov dword [ebp - 0xc8], eax
jl 0x41a961
push dword [esi + 0x1fac]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push eax
push dword [ebp - 0x1bc4]
lea ecx, [ebp - 0x1dc4]
push dword [ebp - 0x1bd4]
push dword [ebp - 0x1bd8]
call fcn.00472731
push dword [esi + 0x1fac]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x41a944
mov ebx, 0x8004022d
cmp ebx, edi
jl 0x41a961
or dword [ebp - 0x1bc], 1
and dword [ebp - 0x38], 0xfffffff7
push edi
lea ecx, [ebp - 0x1d4]
call fcn.0042c5b9
jmp 0x41a9b7
mov eax, 0x8003001d
cmp ebx, eax
jg 0x41a98c
je 0x41a9a6
cmp ebx, 0x80030004
jl 0x41a9a4
cmp ebx, 0x80030006
jle 0x41a9a6
cmp ebx, 0x80030008
je 0x41a9a6
cmp ebx, 0x80030013
jmp 0x41a9a2
cmp ebx, 0x80030070
je 0x41a9a6
cmp ebx, 0x80040211
je 0x41a9a6
cmp ebx, 0x8007000e
je 0x41a9a6
xor ebx, ebx
push dword [ebp - 0x1bb8]
lea ecx, [ebp - 0x1d84]
call fcn.004716e2
cmp ebx, edi
jl 0x41a9eb
inc dword [ebp - 0x1bbc]
mov eax, dword [ebp - 0x1bbc]
push 0xa
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x41a9eb
push dword [ebp - 0x1bbc]
push dword [ebp - 0x1bdc]
push dword [ebp + 8]
call fcn.00419d9a
add esp, 0xc
mov ebx, eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0xb
call fcn.0042e6ac
inc dword [ebp - 0x1bb8]
cmp ebx, edi
jge 0x41a738
cmp ebx, edi
jl 0x41aa4f
lea ecx, [ebp - 0x1dc4]
call fcn.00472688
mov esi, dword [ebp - 0x1bf8]
call fcn.004197c4
mov ecx, dword [ebp - 0x1be8]
lea eax, [ebp - 0x1be4]
push eax
push 7
call fcn.0046c64c
mov ebx, eax
cmp ebx, edi
jl 0x41aa4f
push dword [ebp - 0x1be4]
lea ecx, [ebp - 0x1d00]
call fcn.00471fcd
mov ebx, eax
cmp ebx, edi
mov dword [ebp - 0x1bb8], 1
jl 0x41ad8f
mov esi, dword [ebp - 0x1bb8]
cmp esi, dword [ebp - 0x1d7c]
ja 0x41ad8f
mov edi, dword [ebp - 0x1bc0]
push edi
push esi
lea eax, [ebp - 0x1d84]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0042eb1a
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0xe
call fcn.00470235
mov ebx, eax
test ebx, ebx
jne 0x41accc
cmp byte [edi + 0x1c], al
je 0x41ab09
mov ecx, dword [edi + 0x1f9c]
lea eax, [ebp - 0x1c94]
push eax
lea eax, [ebp - 0x1cc0]
push eax
lea eax, [ebp - 0x1cbc]
push eax
mov dword [ebp - 0x1cb4], esi
call fcn.0046e4e6
mov ebx, eax
test ebx, ebx
jl 0x41ace8
cmp ebx, 1
mov ecx, dword [ebp - 0x1c94]
jne 0x41aaed
mov ebx, 0x80030019
jmp 0x41aaff
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0xc0], eax
test ecx, ecx
je 0x41ab09
mov eax, dword [ecx]
push 1
call dword [eax]
test ebx, ebx
jl 0x41ace8
mov eax, dword [ebp - 0xc0]
or eax, dword [ebp - 0xc4]
je 0x41acca
lea eax, [ebp - 0x1bc4]
push eax
push dword [ebp - 0xc0]
lea ecx, [edi + 0x1ca8]
push dword [ebp - 0xc4]
call fcn.0047288d
mov ebx, eax
test ebx, ebx
jl 0x41ace8
cmp dword [ebp - 0x1bc4], 0xf4240
jbe 0x41ab5c
mov ebx, 0x8004022d
test ebx, ebx
jl 0x41ace8
mov eax, dword [edi + 0x1fb0]
mov edx, dword [eax]
xor ecx, ecx
push ecx
push dword [ebp - 0x1bc4]
push eax
call dword [edx + 0x18]
mov ebx, eax
test ebx, ebx
jl 0x41ace8
mov eax, dword [edi + 0x1fa8]
mov ecx, dword [eax]
push 0
push 0
push dword [ebp - 0xc0]
push dword [ebp - 0xc4]
push eax
call dword [ecx + 0x14]
mov ebx, eax
test ebx, ebx
jl 0x41ace8
push dword [edi + 0x1fac]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
lea edx, [ebp - 0x1bfc]
push edx
push dword [ebp - 0x1bc4]
mov esi, eax
mov eax, dword [edi + 0x1fa8]
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0xc]
mov ebx, eax
test ebx, ebx
mov eax, dword [ebp - 0x1bc4]
jl 0x41abea
cmp dword [ebp - 0x1bfc], eax
je 0x41abea
mov ebx, 0x8003001e
and dword [ebp - 0x1bd0], 0
add eax, esi
jmp 0x41abff
movzx ecx, byte [esi]
add dword [ebp - 0x1bd0], ecx
inc esi
cmp esi, eax
jne 0x41abf5
push dword [edi + 0x1fac]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call esi
test ebx, ebx
jl 0x41ace8
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x1bd0], eax
je 0x41ac36
cmp byte [edi + 0x1c], 0
je 0x41acc5
test eax, eax
jne 0x41acc5
push 0
lea eax, [ebp - 0x1c14]
push eax
lea eax, [ebp - 0x1bd8]
push eax
push dword [ebp - 0x1bc4]
lea ecx, [ebp - 0x1d00]
call fcn.0047227d
mov ebx, eax
test ebx, ebx
jge 0x41ac73
mov eax, dword [0x4054a8]
mov dword [ebp - 0x1bd8], eax
mov eax, dword [0x4054ac]
mov dword [ebp - 0x1bd4], eax
test ebx, ebx
mov eax, dword [ebp - 0x1bd8]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x1bd4]
mov dword [ebp - 0xc0], eax
jl 0x41ace8
push dword [edi + 0x1fac]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push eax
push dword [ebp - 0x1bc4]
lea ecx, [ebp - 0x1d00]
push dword [ebp - 0x1bd4]
push dword [ebp - 0x1bd8]
call fcn.00472731
push dword [edi + 0x1fac]
mov ebx, eax
call esi
jmp 0x41acca
mov ebx, 0x8004022d
test ebx, ebx
jl 0x41ace8
or dword [ebp - 0x1bc], 1
and dword [ebp - 0x38], 0xfffffff7
push 0
lea ecx, [ebp - 0x1d4]
call fcn.0042c5b9
jmp 0x41ad3e
mov eax, 0x8003001d
cmp ebx, eax
jg 0x41ad13
je 0x41ad2d
cmp ebx, 0x80030004
jl 0x41ad2b
cmp ebx, 0x80030006
jle 0x41ad2d
cmp ebx, 0x80030008
je 0x41ad2d
cmp ebx, 0x80030013
jmp 0x41ad29
cmp ebx, 0x80030070
je 0x41ad2d
cmp ebx, 0x80040211
je 0x41ad2d
cmp ebx, 0x8007000e
je 0x41ad2d
xor ebx, ebx
push dword [ebp - 0x1bb8]
lea ecx, [ebp - 0x1d84]
call fcn.004716e2
test ebx, ebx
jl 0x41ad72
inc dword [ebp - 0x1bbc]
mov eax, dword [ebp - 0x1bbc]
push 0xa
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x41ad72
push dword [ebp - 0x1bbc]
push dword [ebp - 0x1bdc]
push dword [ebp + 8]
call fcn.00419d9a
add esp, 0xc
mov ebx, eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0xb
call fcn.0042e6ac
inc dword [ebp - 0x1bb8]
test ebx, ebx
jge 0x41aa61
test ebx, ebx
mov edi, dword [ebp - 0x1bc0]
mov dword [ebp - 0x1bb8], 1
jl 0x41ba1f
mov eax, dword [ebp - 0x1bb8]
cmp eax, dword [ebp - 0x1e48]
ja 0x41b085
push edi
push eax
lea eax, [ebp - 0x1e50]
push eax
lea ecx, [ebp - 0x1c7c]
call fcn.0040af4a
lea ecx, [ebp - 0x1c7c]
mov byte [ebp - 4], 0xf
call fcn.00470235
or dword [ebp - 0x1c64], 1
or dword [ebp - 0x1c64], 1
or dword [ebp - 0x1c64], 1
mov ebx, eax
xor eax, eax
cmp ebx, eax
mov dword [ebp - 0x1c38], eax
mov dword [ebp - 0x1c34], eax
mov dword [ebp - 0x1c30], eax
jl 0x41afc7
mov eax, dword [ebp - 0x1c40]
or eax, dword [ebp - 0x1c44]
je 0x41afbf
lea eax, [ebp - 0x1bc4]
push eax
push dword [ebp - 0x1c40]
lea ecx, [edi + 0x1ca8]
push dword [ebp - 0x1c44]
call fcn.0047288d
mov ebx, eax
test ebx, ebx
jl 0x41afc7
cmp dword [ebp - 0x1bc4], 0xf4240
jbe 0x41ae5a
mov ebx, 0x8004022d
test ebx, ebx
jl 0x41afc7
mov eax, dword [edi + 0x1fb0]
mov edx, dword [eax]
xor ecx, ecx
push ecx
push dword [ebp - 0x1bc4]
push eax
call dword [edx + 0x18]
mov ebx, eax
test ebx, ebx
jl 0x41afc7
mov eax, dword [edi + 0x1fa8]
mov ecx, dword [eax]
push 0
push 0
push dword [ebp - 0x1c40]
push dword [ebp - 0x1c44]
push eax
call dword [ecx + 0x14]
mov ebx, eax
test ebx, ebx
jl 0x41afc7
push dword [edi + 0x1fac]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
lea edx, [ebp - 0x1bfc]
push edx
push dword [ebp - 0x1bc4]
mov esi, eax
mov eax, dword [edi + 0x1fa8]
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0xc]
mov ebx, eax
test ebx, ebx
mov eax, dword [ebp - 0x1bc4]
jl 0x41aee8
cmp dword [ebp - 0x1bfc], eax
je 0x41aee8
mov ebx, 0x8003001e
and dword [ebp - 0x1bd0], 0
add eax, esi
jmp 0x41aefd
movzx ecx, byte [esi]
add dword [ebp - 0x1bd0], ecx
inc esi
cmp esi, eax
jne 0x41aef3
push dword [edi + 0x1fac]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
test ebx, ebx
jl 0x41afc7
mov eax, dword [ebp - 0x1bd0]
cmp eax, dword [ebp - 0x1c3c]
jne 0x41afba
push 0
lea eax, [ebp - 0x1c14]
push eax
lea eax, [ebp - 0x1bd8]
push eax
push dword [ebp - 0x1bc4]
lea ecx, [ebp - 0x1d00]
call fcn.0047227d
mov ebx, eax
test ebx, ebx
jge 0x41af64
mov eax, dword [0x4054a8]
mov dword [ebp - 0x1bd8], eax
mov eax, dword [0x4054ac]
mov dword [ebp - 0x1bd4], eax
test ebx, ebx
mov eax, dword [ebp - 0x1bd8]
mov dword [ebp - 0x1c44], eax
mov eax, dword [ebp - 0x1bd4]
mov dword [ebp - 0x1c40], eax
jl 0x41afc7
push dword [edi + 0x1fac]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push eax
push dword [ebp - 0x1bc4]
lea ecx, [ebp - 0x1d00]
push dword [ebp - 0x1bd4]
push dword [ebp - 0x1bd8]
call fcn.00472731
push dword [edi + 0x1fac]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x41afbf
mov ebx, 0x8004022d
test ebx, ebx
jl 0x41afc7
push 0
jmp 0x41b01b
mov eax, 0x8003001d
cmp ebx, eax
jg 0x41aff2
je 0x41b00c
cmp ebx, 0x80030004
jl 0x41b00a
cmp ebx, 0x80030006
jle 0x41b00c
cmp ebx, 0x80030008
je 0x41b00c
cmp ebx, 0x80030013
jmp 0x41b008
cmp ebx, 0x80030070
je 0x41b00c
cmp ebx, 0x80040211
je 0x41b00c
cmp ebx, 0x8007000e
je 0x41b00c
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x1c40], eax
mov dword [ebp - 0x1c44], eax
push eax
and dword [ebp - 0x1c24], 0xfffffffd
or dword [ebp - 0x1c64], 1
lea ecx, [ebp - 0x1c7c]
call fcn.00470395
test ebx, ebx
jl 0x41b068
inc dword [ebp - 0x1bbc]
mov eax, dword [ebp - 0x1bbc]
push 0xa
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x41b068
push dword [ebp - 0x1bbc]
push dword [ebp - 0x1bdc]
push dword [ebp + 8]
call fcn.00419d9a
add esp, 0xc
mov ebx, eax
lea ecx, [ebp - 0x1c7c]
mov byte [ebp - 4], 0xb
call fcn.0040afdb
inc dword [ebp - 0x1bb8]
test ebx, ebx
jge 0x41ada7
test ebx, ebx
jl 0x41ba1f
lea ecx, [ebp - 0x1d00]
call fcn.00472688
mov esi, dword [ebp - 0x1be4]
call fcn.004197c4
cmp byte [edi + 0x1c], 0
je 0x41b223
mov ecx, dword [ebp - 0x1be8]
lea eax, [ebp - 0x1bc8]
push eax
push 8
call fcn.0046c64c
mov ebx, eax
test ebx, ebx
jl 0x41b0e6
push 0x495658
push 0x14
push 0x2000
push dword [ebp - 0x1bc8]
lea ecx, [ebp - 0x27c]
call fcn.0046dd99
mov ebx, eax
xor esi, esi
inc esi
test ebx, ebx
jl 0x41ba1f
cmp esi, dword [ebp - 0x1d7c]
ja 0x41b1f9
push edi
push esi
lea eax, [ebp - 0x1d84]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0042eb1a
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x10
call fcn.00470235
mov ebx, eax
test ebx, ebx
jne 0x41b15a
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x1cac], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x1ca8], eax
lea eax, [ebp - 0x1cbc]
push eax
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0x1cb4], esi
call fcn.0046f274
mov ebx, eax
test ebx, ebx
jge 0x41b1b1
mov eax, 0x8003001d
cmp ebx, eax
jg 0x41b187
je 0x41b1a1
cmp ebx, 0x80030004
jl 0x41b19f
cmp ebx, 0x80030006
jle 0x41b1a1
cmp ebx, 0x80030008
je 0x41b1a1
cmp ebx, 0x80030013
jmp 0x41b19d
cmp ebx, 0x80030070
je 0x41b1a1
cmp ebx, 0x80040211
je 0x41b1a1
cmp ebx, 0x8007000e
je 0x41b1a1
xor ebx, ebx
push esi
lea ecx, [ebp - 0x1d84]
call fcn.004716e2
test ebx, ebx
jl 0x41b1e1
inc dword [ebp - 0x1bbc]
mov eax, dword [ebp - 0x1bbc]
push 0xa
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x41b1e1
push dword [ebp - 0x1bbc]
push dword [ebp - 0x1bdc]
push dword [ebp + 8]
call fcn.00419d9a
add esp, 0xc
mov ebx, eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0xb
call fcn.0042e6ac
inc esi
test ebx, ebx
jge 0x41b0f1
test ebx, ebx
jl 0x41ba1f
lea ecx, [ebp - 0x27c]
call fcn.0046d545
mov esi, dword [ebp - 0x1bc8]
call fcn.004197c4
mov eax, dword [ebp - 0x1bc8]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x2c]
call fcn.0041955e
lea eax, [ebp - 0x1c08]
push eax
push 6
lea ecx, [ebp - 0x1fc4]
mov byte [ebp - 4], 0x11
call fcn.0046c64c
mov ebx, eax
test ebx, ebx
jl 0x41b268
push 0x49563c
push 0x14
push 0x2000
push dword [ebp - 0x1c08]
lea ecx, [ebp - 0x3cc]
call fcn.0046dd99
mov ebx, eax
test ebx, ebx
mov dword [ebp - 0x1bb8], 1
jl 0x41b3b5
mov eax, dword [ebp - 0x1bb8]
cmp eax, dword [ebp - 0x1d7c]
ja 0x41b39b
push edi
push eax
lea eax, [ebp - 0x1d84]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0042eb1a
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x12
call fcn.00470235
mov ebx, eax
test ebx, ebx
jne 0x41b2f2
mov eax, dword [ebp - 0x1bb8]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1ca4]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0042b2a0
mov esi, eax
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x3cc]
movsd dword es:[edi], dword [esi]
call fcn.0046f274
mov edi, dword [ebp - 0x1bc0]
mov ebx, eax
test ebx, ebx
jge 0x41b34e
mov eax, 0x8003001d
cmp ebx, eax
jg 0x41b31f
je 0x41b339
cmp ebx, 0x80030004
jl 0x41b337
cmp ebx, 0x80030006
jle 0x41b339
cmp ebx, 0x80030008
je 0x41b339
cmp ebx, 0x80030013
jmp 0x41b335
cmp ebx, 0x80030070
je 0x41b339
cmp ebx, 0x80040211
je 0x41b339
cmp ebx, 0x8007000e
je 0x41b339
xor ebx, ebx
push dword [ebp - 0x1bb8]
lea ecx, [ebp - 0x1d84]
call fcn.004716e2
test ebx, ebx
jl 0x41b37e
inc dword [ebp - 0x1bbc]
mov eax, dword [ebp - 0x1bbc]
push 0xa
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x41b37e
push dword [ebp - 0x1bbc]
push dword [ebp - 0x1bdc]
push dword [ebp + 8]
call fcn.00419d9a
add esp, 0xc
mov ebx, eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x11
call fcn.0042e6ac
inc dword [ebp - 0x1bb8]
test ebx, ebx
jge 0x41b27a
test ebx, ebx
jl 0x41b3b5
lea ecx, [ebp - 0x3cc]
call fcn.0046d545
mov esi, dword [ebp - 0x1c08]
call fcn.004197c4
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
call fcn.0046d4a5
test ebx, ebx
jl 0x41ba1f
lea eax, [ebp - 0x1c04]
push eax
push 3
lea ecx, [ebp - 0x1fc4]
call fcn.0046c64c
mov ebx, eax
test ebx, ebx
jl 0x41ba1f
push 0x494be8
push 0x14
push 0x2000
push dword [ebp - 0x1c04]
lea ecx, [ebp - 0x474]
call fcn.0046dd99
mov ebx, eax
test ebx, ebx
jl 0x41ba1f
cmp byte [edi + 0x1c], 0
mov eax, dword [edi + 0x1478]
mov dword [ebp - 0x1c90], eax
mov eax, dword [ebp - 0x1bf4]
mov dword [edi + 0x1478], eax
mov eax, dword [edi + 0x147c]
mov dword [ebp - 0x1c88], eax
mov eax, dword [ebp - 0x1bf0]
mov dword [edi + 0x147c], eax
mov eax, dword [edi + 0x1fa4]
mov dword [ebp - 0x1c18], eax
mov eax, dword [ebp - 0x1bf8]
mov dword [edi + 0x1fa4], eax
mov eax, dword [edi + 0x1fa8]
mov dword [ebp - 0x1c1c], eax
mov eax, dword [ebp - 0x1be4]
mov dword [edi + 0x1fa8], eax
mov eax, dword [edi + 0x1f9c]
mov dword [ebp - 0x1c98], eax
je 0x41b48c
lea eax, [ebp - 0x27c]
mov dword [edi + 0x1f9c], eax
lea ecx, [ebp - 0x1580]
call fcn.004193b9
lea esi, [edi + 0x1c68]
mov ecx, esi
mov byte [ebp - 4], 0x13
call fcn.00472688
mov ebx, eax
test ebx, ebx
jl 0x41b9d4
mov ecx, esi
call fcn.004729c8
mov ebx, eax
test ebx, ebx
jl 0x41b9d4
lea esi, [edi + 0x1ca8]
mov ecx, esi
call fcn.00472688
mov ebx, eax
test ebx, ebx
jl 0x41b9d4
mov ecx, esi
call fcn.004729c8
mov ebx, eax
test ebx, ebx
jl 0x41b9d4
push 1
push dword [ebp - 0x1bf8]
lea ecx, [edi + 0x1c68]
call fcn.00472033
mov ebx, eax
test ebx, ebx
jl 0x41b9d4
push 1
push dword [ebp - 0x1be4]
mov ecx, esi
call fcn.00472033
mov ebx, eax
test ebx, ebx
jl 0x41b9d4
mov dword [ebp - 0x1bb8], 1
xor esi, esi
mov eax, dword [ebp - 0x1bb8]
cmp eax, dword [ebp - 0x1d7c]
ja 0x41b685
push edi
push eax
lea eax, [ebp - 0x1d84]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0042eb1a
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x14
call fcn.00470235
mov ebx, eax
cmp ebx, esi
jne 0x41b636
lea eax, [ebp - 0x1bd0]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0042d8b3
mov ebx, eax
cmp ebx, esi
jl 0x41b5de
cmp dword [ebp - 0x1bd0], esi
je 0x41b5da
push dword [ebp - 0x1bd0]
call dword [sym.imp.MSVCRT.dll_wcslen]
test eax, eax
pop ecx
jbe 0x41b5da
push dword [ebp - 0x18c]
mov eax, dword [ebp - 0x1cc]
push dword [ebp - 0x1bd0]
lea ecx, [ebp - 0x1580]
mov dword [ebp - 0x1164], eax
call fcn.0046876e
mov ebx, eax
cmp ebx, esi
jl 0x41b5de
lea eax, [ebp - 0x1580]
push eax
lea ecx, [ebp - 0x474]
call fcn.0046f274
mov ebx, eax
cmp ebx, esi
jge 0x41b638
mov eax, 0x8003001d
cmp ebx, eax
jg 0x41b609
je 0x41b623
cmp ebx, 0x80030004
jl 0x41b621
cmp ebx, 0x80030006
jle 0x41b623
cmp ebx, 0x80030008
je 0x41b623
cmp ebx, 0x80030013
jmp 0x41b61f
cmp ebx, 0x80030070
je 0x41b623
cmp ebx, 0x80040211
je 0x41b623
cmp ebx, 0x8007000e
je 0x41b623
xor ebx, ebx
push dword [ebp - 0x1bb8]
lea ecx, [ebp - 0x1d84]
call fcn.004716e2
cmp ebx, esi
jl 0x41b668
inc dword [ebp - 0x1bbc]
mov eax, dword [ebp - 0x1bbc]
push 0xa
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x41b668
push dword [ebp - 0x1bbc]
push dword [ebp - 0x1bdc]
push dword [ebp + 8]
call fcn.00419d9a
add esp, 0xc
mov ebx, eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x13
call fcn.0042e6ac
inc dword [ebp - 0x1bb8]
cmp ebx, esi
jge 0x41b52d
cmp ebx, esi
jl 0x41b6a1
lea ecx, [ebp - 0x474]
call fcn.0046d545
mov esi, dword [ebp - 0x1c04]
call fcn.004197c4
xor esi, esi
lea ecx, [ebp - 0x1bb4]
call fcn.0040be58
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x1bcc], esi
mov dword [ebp - 0x1c10], esi
call fcn.0042fad2
cmp ebx, esi
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x1bec], esi
jl 0x41b70b
mov ecx, dword [ebp - 0x1be8]
lea eax, [ebp - 0x1c0c]
push eax
push 5
call fcn.0046c64c
mov ebx, eax
cmp ebx, esi
jl 0x41b70b
push 0x495008
push 0x14
push 0x2000
push dword [ebp - 0x1c0c]
lea ecx, [ebp - 0x324]
call fcn.0046dd99
mov ebx, eax
cmp ebx, esi
mov dword [ebp - 0x1bb8], 2
jl 0x41b973
mov eax, dword [ebp - 0x1bb8]
cmp eax, dword [ebp - 0x1e48]
ja 0x41b959
push edi
push eax
lea eax, [ebp - 0x1e50]
push eax
lea ecx, [ebp - 0x1c7c]
call fcn.0040af4a
lea ecx, [ebp - 0x1c7c]
mov byte [ebp - 4], 0x17
call fcn.00470235
mov ebx, eax
cmp ebx, esi
jne 0x41b90a
mov eax, dword [ebp - 0x1c40]
or eax, dword [ebp - 0x1c44]
jne 0x41b7f6
or dword [ebp - 0x1c24], 1
inc dword [ebp - 0x1bcc]
push 0xa
lea eax, [ebp - 0xb46]
push eax
push dword [ebp - 0x1bcc]
mov word [ebp - 0xb48], 0x2f
call dword [sym.imp.MSVCRT.dll__ltow]
add esp, 0xc
lea eax, [ebp - 0xb48]
push eax
lea ecx, [ebp - 0x1c7c]
call fcn.0040bb28
mov ebx, eax
cmp ebx, esi
jl 0x41b82e
push 0xa
lea eax, [ebp - 0xb48]
push eax
push dword [ebp - 0x1bcc]
call dword [sym.imp.MSVCRT.dll__ltow]
add esp, 0xc
lea eax, [ebp - 0xb48]
push eax
lea ecx, [ebp - 0x1c7c]
call fcn.0040bb9a
mov ebx, eax
cmp ebx, esi
jl 0x41b82e
push esi
lea ecx, [ebp - 0x1c7c]
call fcn.00470395
mov ebx, eax
cmp ebx, esi
jl 0x41b82e
lea eax, [ebp - 0x1c10]
push eax
lea ecx, [ebp - 0x1c7c]
call fcn.0040ba94
mov ebx, eax
cmp ebx, esi
jl 0x41b82e
lea eax, [ebp - 0x1bec]
push eax
lea ecx, [ebp - 0x1c7c]
call fcn.0040bab9
mov ebx, eax
cmp ebx, esi
jl 0x41b82e
cmp dword [ebp - 0x1c10], esi
je 0x41b836
cmp dword [ebp - 0x1bec], esi
jne 0x41b849
xor eax, eax
mov dword [ebp - 0x1c40], eax
mov dword [ebp - 0x1c44], esi
jmp 0x41b762
cmp ebx, esi
jl 0x41b8c5
push esi
push esi
push dword [ebp - 0x1c10]
lea ecx, [ebp - 0x1e6c]
call fcn.00430209
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x18
call fcn.00430184
push esi
push 1
lea ecx, [ebp - 0x1e6c]
mov ebx, eax
mov byte [ebp - 4], 0x17
call fcn.0040db60
cmp ebx, esi
jl 0x41b8c5
push dword [ebp - 0x1c50]
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x1bec]
push dword [ebp - 0x1bb8]
call fcn.0042fa52
push eax
lea ecx, [ebp - 0x1bb4]
call fcn.0040bcf0
mov ebx, eax
cmp ebx, esi
jl 0x41b8c5
lea eax, [ebp - 0x1bb4]
push eax
lea ecx, [ebp - 0x324]
call fcn.0046f274
mov ebx, eax
cmp ebx, 0x80040202
je 0x41b836
cmp ebx, esi
jl 0x41b93c
or dword [ebp - 0x1c64], 1
or dword [ebp - 0x1c64], 1
or dword [ebp - 0x1c64], 1
push esi
lea ecx, [ebp - 0x1c7c]
mov dword [ebp - 0x1c38], esi
mov dword [ebp - 0x1c34], esi
mov dword [ebp - 0x1c30], esi
call fcn.00470395
cmp ebx, esi
jl 0x41b93c
inc dword [ebp - 0x1bbc]
mov eax, dword [ebp - 0x1bbc]
push 0xa
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x41b93c
push dword [ebp - 0x1bbc]
push dword [ebp - 0x1bdc]
push dword [ebp + 8]
call fcn.00419d9a
add esp, 0xc
mov ebx, eax
lea ecx, [ebp - 0x1c7c]
mov byte [ebp - 4], 0x16
call fcn.0040afdb
inc dword [ebp - 0x1bb8]
cmp ebx, esi
jge 0x41b71d
cmp ebx, esi
jl 0x41b973
lea ecx, [ebp - 0x324]
call fcn.0046d545
mov esi, dword [ebp - 0x1c0c]
call fcn.004197c4
lea ebx, [edi + 0x1c68]
mov ecx, ebx
call fcn.004729c8
lea esi, [edi + 0x1484]
push dword [esi]
mov ecx, ebx
push dword [ebp - 0x1c18]
call fcn.00472033
mov ebx, eax
test ebx, ebx
jl 0x41b9b9
lea ebx, [edi + 0x1ca8]
mov ecx, ebx
call fcn.004729c8
push dword [esi]
mov ecx, ebx
push dword [ebp - 0x1c1c]
call fcn.00472033
mov ebx, eax
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.0040db60
lea ecx, [ebp - 0x1bb4]
mov byte [ebp - 4], 0x13
call fcn.0046d4a5
mov eax, dword [ebp - 0x1c90]
mov dword [edi + 0x1478], eax
mov eax, dword [ebp - 0x1c18]
mov dword [edi + 0x1fa4], eax
mov eax, dword [ebp - 0x1c88]
mov dword [edi + 0x147c], eax
mov eax, dword [ebp - 0x1c1c]
mov dword [edi + 0x1fa8], eax
mov eax, dword [ebp - 0x1c98]
lea ecx, [ebp - 0x1580]
mov dword [edi + 0x1f9c], eax
mov byte [ebp - 4], 0xb
call fcn.0046d4a5
mov eax, dword [ebp - 0x1c08]
test eax, eax
je 0x41ba2f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c04]
test eax, eax
je 0x41ba3f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c0c]
test eax, eax
je 0x41ba4f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
test ebx, ebx
jl 0x41baa0
mov ecx, dword [ebp - 0x1be8]
lea eax, [ebp - 0x1bc8]
push eax
push 4
call fcn.0046c64c
mov ebx, eax
test ebx, ebx
jl 0x41baa0
push dword [ebp - 0x1be4]
lea eax, [ebp - 0x1d00]
push eax
push 2
push 0x2000
push dword [ebp - 0x1bc8]
lea ecx, [ebp - 0x530]
call fcn.0041ef7e
mov ebx, eax
mov eax, dword [ebp - 0x1bc8]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1bf8]
test eax, eax
je 0x41bab0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1be4]
test eax, eax
je 0x41bac0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
test ebx, ebx
jl 0x41bbe4
lea ecx, [ebp - 0x1d84]
call fcn.00471108
lea ecx, [ebp - 0x1d84]
call fcn.0046ff9e
lea ecx, [ebp - 0x1e50]
call fcn.00471108
lea ecx, [ebp - 0x1e50]
call fcn.0046ff9e
lea ecx, [ebp - 0x1dc4]
call fcn.004729c8
lea ecx, [ebp - 0x1d00]
call fcn.004729c8
lea ecx, [ebp - 0x3cc]
call fcn.0046d54d
cmp byte [edi + 0x1c], 0
je 0x41bb26
lea ecx, [ebp - 0x27c]
call fcn.0046d54d
lea ecx, [ebp - 0x474]
call fcn.0046d54d
lea ecx, [ebp - 0x324]
call fcn.0046d54d
lea ecx, [ebp - 0x530]
call fcn.0046d545
lea ecx, [ebp - 0x530]
call fcn.0041efee
push 0
lea esi, [edi + 0x1490]
push dword [esi + 4]
lea ecx, [ebp - 0x1fc4]
push dword [esi]
push 0xffffffffffffffff
call fcn.0046b38c
push 0
push dword [esi + 4]
lea ecx, [ebp - 0x211c]
push dword [esi]
push 0xffffffffffffffff
call fcn.0046b38c
mov eax, dword [edi + 0x1fdc]
mov esi, dword [edi + 0x1fd8]
push dword [ebp - 0x1bf4]
mov dword [ebp - 0x1c98], eax
mov eax, dword [ebp - 0x1c84]
mov dword [edi + 0x1fd8], eax
mov eax, dword [ebp - 0x1c80]
mov ecx, edi
mov dword [edi + 0x1fdc], eax
call fcn.004467b3
mov ebx, eax
test ebx, ebx
jl 0x41bbd2
cmp byte [edi + 0x1c], 0
je 0x41bbd2
push dword [ebp - 0x1bf0]
mov ecx, edi
call fcn.004467b3
mov ebx, eax
mov eax, dword [ebp - 0x1c98]
mov dword [edi + 0x1fd8], esi
mov dword [edi + 0x1fdc], eax
cmp dword [ebp - 0x1bf4], 0xffffffff
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x41bbfb
push dword [ebp - 0x1bf4]
call esi
cmp dword [ebp - 0x1bf0], 0xffffffff
je 0x41bc0c
push dword [ebp - 0x1bf0]
call esi
and word [ebp - 0x940], 0
and word [ebp - 0x738], 0
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edx, 0x81
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x93e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
test ebx, ebx
mov ecx, edx
lea edi, [ebp - 0x736]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
jl 0x41be30
mov esi, dword [ebp - 0x1bc0]
mov al, byte [esi + 0x1c]
mov ecx, esi
mov byte [ebp - 0x1bdd], al
call fcn.004459b8
mov ebx, eax
test ebx, ebx
mov al, byte [ebp - 0x1bdd]
mov byte [esi + 0x1c], al
jl 0x41be04
mov eax, esi
add eax, 0x1e
mov dword [ebp - 0x1bcc], eax
push eax
mov eax, 0x104
lea esi, [ebp - 0x940]
call fcn.00419bda
test al, al
pop ecx
je 0x41be04
mov eax, esi
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileW]
push eax
push dword [ebp - 0x1bcc]
call esi
test eax, eax
jne 0x41bcc0
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
test eax, eax
jg 0x41bd1f
call edi
mov ebx, eax
jmp 0x41bd2f
push dword [ebp - 0x1bcc]
lea eax, [ebp - 0xd50]
push eax
mov dword [ebp - 0x1c00], 1
call esi
test eax, eax
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
jne 0x41bd2f
call edi
test eax, eax
jg 0x41bcef
call edi
mov ebx, eax
jmp 0x41bcff
call edi
mov ebx, eax
and ebx, 0xffff
or ebx, 0x80070000
push dword [ebp - 0x1bcc]
lea eax, [ebp - 0x940]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x41bcb4
and dword [ebp - 0x1c00], 0
jmp 0x41bd2f
call edi
mov ebx, eax
and ebx, 0xffff
or ebx, 0x80070000
test ebx, ebx
jl 0x41be09
mov eax, dword [ebp - 0x1bc0]
cmp byte [eax + 0x1c], 0
je 0x41be09
add eax, 0x226
push eax
mov eax, 0x104
lea esi, [ebp - 0x738]
call fcn.00419bda
test al, al
pop ecx
je 0x41be09
mov eax, esi
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileW]
push eax
mov eax, dword [ebp - 0x1bc0]
add eax, 0x226
push eax
mov dword [ebp - 0x1c98], eax
call esi
test eax, eax
jne 0x41bda5
call edi
test eax, eax
jg 0x41bd93
call edi
mov ebx, eax
jmp 0x41be09
call edi
mov ebx, eax
and ebx, 0xffff
or ebx, 0x80070000
jmp 0x41be09
push dword [ebp - 0x1c98]
lea eax, [ebp - 0x738]
push eax
mov dword [ebp - 0x1c00], 1
call esi
test eax, eax
jne 0x41be09
call edi
test eax, eax
jg 0x41bdce
call edi
mov ebx, eax
jmp 0x41bdde
call edi
mov ebx, eax
and ebx, 0xffff
or ebx, 0x80070000
mov eax, dword [ebp - 0x1bc0]
add eax, 0x226
push eax
lea eax, [ebp - 0x738]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x41bd87
and dword [ebp - 0x1c00], 0
jmp 0x41be09
mov ebx, 0x80030050
mov ecx, dword [ebp - 0x1bc0]
lea eax, [ecx + 0x42e]
push eax
push 0xf
lea eax, [ecx + 0x226]
push eax
lea eax, [ecx + 0x1e]
push eax
call fcn.00447929
test eax, eax
jge 0x41be4e
mov ebx, eax
jmp 0x41be4e
lea eax, [ebp - 0xd50]
push eax
call esi
mov eax, dword [ebp - 0x1bc0]
cmp byte [eax + 0x1c], 0
je 0x41be4e
lea eax, [ebp - 0x1160]
push eax
call esi
test ebx, ebx
mov esi, dword [ebp - 0x1bc0]
jl 0x41be72
push dword [ebp + 8]
mov ecx, esi
push 0
push dword [ebp - 0x1bbc]
push dword [ebp - 0x1bdc]
call fcn.00419f4d
mov ebx, eax
test ebx, ebx
mov dword [esi + 0x2208], 1
jl 0x41bebf
mov edi, dword [ebp - 0x1bc0]
mov ecx, edi
call fcn.00447107
mov esi, dword [edi + 0x1fa8]
call fcn.004197c4
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x940]
push eax
call esi
cmp byte [edi + 0x1c], 0
je 0x41bf66
lea eax, [ebp - 0x738]
push eax
call esi
jmp 0x41bf66
cmp dword [ebp - 0x1c00], 0
je 0x41bf66
and dword [ebp - 0x1bcc], 0
mov ecx, esi
call fcn.004459b8
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [esi + 0x1e]
push eax
call edi
test eax, eax
je 0x41beff
lea eax, [esi + 0x1e]
push eax
lea eax, [ebp - 0x940]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x41bf09
mov dword [ebp - 0x1bcc], 0x80004005
cmp byte [esi + 0x1c], 0
je 0x41bf3e
lea eax, [esi + 0x226]
push eax
call edi
test eax, eax
je 0x41bf34
lea eax, [esi + 0x226]
push eax
lea eax, [ebp - 0x738]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x41bf3e
mov dword [ebp - 0x1bcc], 0x80004005
cmp dword [ebp - 0x1bcc], 0
jl 0x41bf66
lea eax, [esi + 0x42e]
push eax
push dword [esi + 0x1480]
lea eax, [esi + 0x226]
push eax
lea eax, [esi + 0x1e]
push eax
mov ecx, esi
call fcn.00447929
push ebx
push dword [ebp + 8]
call fcn.00419e02
cmp ebx, 0x80004004
pop ecx
pop ecx
jne 0x41bf7e
mov ebx, 0x80040e4e
lea ecx, [ebp - 0x1cbc]
mov byte [ebp - 4], 0xa
call fcn.0046d4a5
lea ecx, [ebp - 0x530]
mov byte [ebp - 4], 9
call fcn.0041eeb3
lea ecx, [ebp - 0x324]
mov byte [ebp - 4], 8
call fcn.0046d740
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 7
call fcn.0046d740
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 6
call fcn.0046d740
lea ecx, [ebp - 0x3cc]
mov byte [ebp - 4], 5
call fcn.0046d740
lea ecx, [ebp - 0x1d00]
mov byte [ebp - 4], 4
call fcn.00471f8d
lea ecx, [ebp - 0x1dc4]
mov byte [ebp - 4], 3
call fcn.00471f8d
lea ecx, [ebp - 0x1e50]
mov byte [ebp - 4], 2
call fcn.0040b5ad
lea ecx, [ebp - 0x1d84]
mov byte [ebp - 4], 1
call fcn.00419890
lea ecx, [ebp - 0x211c]
mov byte [ebp - 4], 0
call fcn.0046a5df
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1fc4]
call fcn.0046a5df
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
mov eax, ebx
pop ebx
call fcn.0046cd1e
leave
ret 4