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

Disassembly:
mov eax, 0x486c37
call fcn.0046e3e3
mov eax, 0x2110
call fcn.0046ead6
mov eax, dword [section..cdata]
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.0046bf36
lea ecx, [ebp - 0x211c]
mov dword [ebp - 4], edi
call fcn.0046bf36
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.0041adb3
mov dword [ebp - fcn.00471866], 0x402b88
lea ecx, [ebp - 0x1e50]
mov byte [ebp - 4], 2
call fcn.0040c624
lea ecx, [ebp - 0x1dc4]
mov byte [ebp - 4], 3
call fcn.0047358a
mov esi, 0x402b20
mov dword [ebp - 0x1dc4], esi
lea ecx, [ebp - 0x1d00]
mov byte [ebp - 4], 4
call fcn.0047358a
mov dword [ebp - 0x1d00], esi
lea ecx, [ebp - 0x3cc]
mov byte [ebp - 4], 5
call fcn.0046f30e
mov dword [ebp - 0x3cc], 0x402b34
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 6
call fcn.0046f30e
mov dword [ebp - 0x474], 0x402b3c
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 7
call fcn.0046f30e
mov dword [ebp - 0x27c], 0x402b44
lea ecx, [ebp - 0x324]
mov byte [ebp - 4], 8
call fcn.0046f30e
mov dword [ebp - 0x324], 0x402b4c
mov esi, dword [ebp - 0x1bc0]
push esi
lea ecx, [ebp - 0x530]
mov byte [ebp - 4], 9
call fcn.00420443
lea ecx, [ebp - 0x1cbc]
mov byte [ebp - 4], 0xa
call fcn.0041ab31
mov ecx, esi
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x1c80], edi
mov dword [ebp - 0x1c84], edi
call fcn.004480b3
lea eax, [ebp - 0xf58]
push eax
push 0x104
mov dword [esi + 0x2208], 2
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x41b918
mov ebx, 0x80004005
jmp 0x41bc51
lea eax, [ebp - 0xd50]
push eax
push edi
push 0x402bb0
lea eax, [ebp - 0xf58]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
je 0x41b90e
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 0x41b977
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00430d77
mov ebx, eax
cmp ebx, edi
pop ecx
jl 0x41bc51
mov eax, dword [ebp - 0x1bc0]
cmp byte [eax + 0x1c], 0
je 0x41b9e1
lea eax, [ebp - 0x1160]
push eax
push edi
push 0x402ba8
lea eax, [ebp - 0xf58]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
jne 0x41b9a6
mov ebx, 0x80004005
cmp ebx, edi
jl 0x41bc51
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 0x41b9e1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00430d77
pop ecx
mov ebx, eax
cmp ebx, edi
jl 0x41bc51
push 1
call fcn.0044669c
pop ecx
push 1
push edi
mov esi, eax
push esi
push dword [ebp - 0x1bf4]
lea ecx, [ebp - 0x1fc4]
call fcn.0046c974
mov ebx, eax
cmp ebx, edi
jl 0x41bc51
mov eax, dword [ebp - 0x1bc0]
cmp byte [eax + 0x1c], 0
je 0x41ba3d
push 1
push edi
push esi
push dword [ebp - 0x1bf0]
lea ecx, [ebp - 0x211c]
call fcn.0046c974
mov ebx, eax
lea eax, [ebp - 0x211c]
jmp 0x41ba43
lea eax, [ebp - 0x1fc4]
cmp ebx, edi
mov dword [ebp - 0x1be8], eax
jl 0x41bc51
lea ecx, [ebp - 0x1fc4]
call fcn.0046c659
mov ebx, eax
cmp ebx, edi
jl 0x41bc51
lea eax, [ebp - 0x1bc8]
push eax
push edi
lea ecx, [ebp - 0x1fc4]
call fcn.0046dc34
mov ebx, eax
cmp ebx, edi
jl 0x41bc51
mov ecx, dword [ebp - 0x1bc0]
lea eax, [ebp - 0x1c8c]
push eax
push 1
push dword [ebp - 0x1bc8]
add ecx, 0x1b58
call fcn.00473418
mov ebx, eax
cmp ebx, edi
jl 0x41bc51
mov esi, dword [ebp - 0x1bc8]
call fcn.0041ac53
push 2
push 1
push dword [ebp - 0x1bc8]
lea ecx, [ebp - 0x1d84]
call fcn.0041b3c5
mov ebx, eax
mov eax, dword [ebp - 0x1bc8]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp ebx, edi
jl 0x41bc51
mov edx, dword [ebp - 0x1d7c]
mov ecx, dword [ebp - 0x1bc0]
mov eax, edx
imul eax, eax, 7
cmp byte [ecx + 0x1c], 0
je 0x41bafc
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.0041b301
mov ebx, eax
add esp, 0xc
cmp ebx, edi
jl 0x41bc51
mov ecx, dword [ebp - 0x1be8]
lea eax, [ebp - 0x1bc8]
push eax
push 1
call fcn.0046dc34
mov ebx, eax
cmp ebx, edi
jl 0x41bc51
mov ecx, dword [ebp - 0x1bc0]
lea eax, [ebp - 0x1c8c]
push eax
push edi
push dword [ebp - 0x1bc8]
add ecx, 0x1bdc
call fcn.00473418
mov ebx, eax
cmp ebx, edi
jl 0x41bc51
mov esi, dword [ebp - 0x1bc8]
call fcn.0041ac53
push 2
push 1
push dword [ebp - 0x1bc8]
lea ecx, [ebp - 0x1e50]
call fcn.0041b426
mov ebx, eax
mov eax, dword [ebp - 0x1bc8]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp ebx, edi
jl 0x41bc51
mov ebx, dword [ebp - 0x1e48]
mov esi, dword [ebp - 0x1bc0]
jmp 0x41bc00
push esi
push ebx
lea eax, [ebp - 0x1e50]
push eax
lea ecx, [ebp - 0x1c7c]
call fcn.0040bfa2
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.00471f6e
lea ecx, [ebp - 0x1c7c]
mov byte [ebp - 4], 0xb
call fcn.0040c033
inc ebx
cmp ebx, dword [esi + 0x1be4]
jbe 0x41bbb3
lea eax, [ebp - 0x1bf8]
push eax
push 2
lea ecx, [ebp - 0x1fc4]
call fcn.0046dc34
mov ebx, eax
cmp ebx, edi
jl 0x41bc51
push dword [ebp - 0x1bf8]
lea ecx, [ebp - 0x1dc4]
call fcn.00473bb1
mov ebx, eax
cmp ebx, edi
jl 0x41bc51
lea eax, [ebp - 0x1dc4]
push eax
lea eax, [ebp - 0x1c84]
push eax
mov ecx, esi
call fcn.00446b9b
mov ebx, eax
cmp ebx, edi
mov dword [ebp - 0x1bb8], 1
jl 0x41bf80
mov esi, dword [ebp - 0x1bc0]
mov eax, dword [ebp - 0x1bb8]
cmp eax, dword [ebp - 0x1d7c]
ja 0x41bf39
push esi
push eax
lea eax, [ebp - 0x1d84]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.004301b9
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0xd
call fcn.00471e0e
mov ebx, eax
cmp ebx, edi
jl 0x41be92
mov eax, dword [ebp - 0xc8]
or eax, dword [ebp - 0xcc]
je 0x41be75
lea eax, [ebp - 0x1bc4]
push eax
push dword [ebp - 0xc8]
lea ecx, [esi + 0x1c68]
push dword [ebp - 0xcc]
call fcn.00474471
mov ebx, eax
cmp ebx, edi
jl 0x41be92
cmp dword [ebp - 0x1bc4], 0xf4240
jbe 0x41bcf3
mov ebx, 0x8004022d
cmp ebx, edi
jl 0x41be92
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 0x41be92
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 0x41be92
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 0x41bd86
cmp dword [ebp - 0x1bfc], ecx
je 0x41bd86
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 0x41bdbb
mov eax, dword [ebp - 0x1bcc]
movzx eax, byte [eax]
add dword [ebp - 0x1bd0], eax
inc dword [ebp - 0x1bcc]
cmp dword [ebp - 0x1bcc], ecx
jne 0x41bd9e
push dword [esi + 0x1fac]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp ebx, edi
jl 0x41be92
mov eax, dword [ebp - 0x1bd0]
cmp eax, dword [ebp - 0x44]
jne 0x41be70
push edi
lea eax, [ebp - 0x1c14]
push eax
lea eax, [ebp - 0x1bd8]
push eax
push dword [ebp - 0x1bc4]
lea ecx, [ebp - 0x1dc4]
call fcn.00473e61
mov ebx, eax
cmp ebx, edi
jge 0x41be1a
mov eax, dword [0x4054f0]
mov dword [ebp - 0x1bd8], eax
mov eax, dword [0x4054f4]
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 0x41be92
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.00474315
push dword [esi + 0x1fac]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x41be75
mov ebx, 0x8004022d
cmp ebx, edi
jl 0x41be92
or dword [ebp - 0x1bc], 1
and dword [ebp - 0x38], 0xfffffff7
push edi
lea ecx, [ebp - 0x1d4]
call fcn.0042dbf8
jmp 0x41bee8
mov eax, 0x8003001d
cmp ebx, eax
jg 0x41bebd
je 0x41bed7
cmp ebx, 0x80030004
jl 0x41bed5
cmp ebx, 0x80030006
jle 0x41bed7
cmp ebx, 0x80030008
je 0x41bed7
cmp ebx, 0x80030013
jmp 0x41bed3
cmp ebx, 0x80030070
je 0x41bed7
cmp ebx, 0x80040211
je 0x41bed7
cmp ebx, 0x8007000e
je 0x41bed7
xor ebx, ebx
push dword [ebp - 0x1bb8]
lea ecx, [ebp - 0x1d84]
call fcn.004732c6
cmp ebx, edi
jl 0x41bf1c
inc dword [ebp - 0x1bbc]
mov eax, dword [ebp - 0x1bbc]
push 0xa
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x41bf1c
push dword [ebp - 0x1bbc]
push dword [ebp - 0x1bdc]
push dword [ebp + 8]
call fcn.0041b301
add esp, 0xc
mov ebx, eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0xb
call fcn.0042fd4b
inc dword [ebp - 0x1bb8]
cmp ebx, edi
jge 0x41bc69
cmp ebx, edi
jl 0x41bf80
lea ecx, [ebp - 0x1dc4]
call fcn.0047426c
mov esi, dword [ebp - 0x1bf8]
call fcn.0041ac53
mov ecx, dword [ebp - 0x1be8]
lea eax, [ebp - 0x1be4]
push eax
push 7
call fcn.0046dc34
mov ebx, eax
cmp ebx, edi
jl 0x41bf80
push dword [ebp - 0x1be4]
lea ecx, [ebp - 0x1d00]
call fcn.00473bb1
mov ebx, eax
cmp ebx, edi
mov dword [ebp - 0x1bb8], 1
jl 0x41c2c0
mov esi, dword [ebp - 0x1bb8]
cmp esi, dword [ebp - 0x1d7c]
ja 0x41c2c0
mov edi, dword [ebp - 0x1bc0]
push edi
push esi
lea eax, [ebp - 0x1d84]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.004301b9
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0xe
call fcn.00471e0e
mov ebx, eax
test ebx, ebx
jne 0x41c1fd
cmp byte [edi + 0x1c], al
je 0x41c03a
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.004700bf
mov ebx, eax
test ebx, ebx
jl 0x41c219
cmp ebx, 1
mov ecx, dword [ebp - 0x1c94]
jne 0x41c01e
mov ebx, 0x80030019
jmp 0x41c030
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0xc0], eax
test ecx, ecx
je 0x41c03a
mov eax, dword [ecx]
push 1
call dword [eax]
test ebx, ebx
jl 0x41c219
mov eax, dword [ebp - 0xc0]
or eax, dword [ebp - 0xc4]
je 0x41c1fb
lea eax, [ebp - 0x1bc4]
push eax
push dword [ebp - 0xc0]
lea ecx, [edi + 0x1ca8]
push dword [ebp - 0xc4]
call fcn.00474471
mov ebx, eax
test ebx, ebx
jl 0x41c219
cmp dword [ebp - 0x1bc4], 0xf4240
jbe 0x41c08d
mov ebx, 0x8004022d
test ebx, ebx
jl 0x41c219
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 0x41c219
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 0x41c219
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 0x41c11b
cmp dword [ebp - 0x1bfc], eax
je 0x41c11b
mov ebx, 0x8003001e
and dword [ebp - 0x1bd0], 0
add eax, esi
jmp 0x41c130
movzx ecx, byte [esi]
add dword [ebp - 0x1bd0], ecx
inc esi
cmp esi, eax
jne 0x41c126
push dword [edi + 0x1fac]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call esi
test ebx, ebx
jl 0x41c219
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x1bd0], eax
je 0x41c167
cmp byte [edi + 0x1c], 0
je 0x41c1f6
test eax, eax
jne 0x41c1f6
push 0
lea eax, [ebp - 0x1c14]
push eax
lea eax, [ebp - 0x1bd8]
push eax
push dword [ebp - 0x1bc4]
lea ecx, [ebp - 0x1d00]
call fcn.00473e61
mov ebx, eax
test ebx, ebx
jge 0x41c1a4
mov eax, dword [0x4054f0]
mov dword [ebp - 0x1bd8], eax
mov eax, dword [0x4054f4]
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 0x41c219
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.00474315
push dword [edi + 0x1fac]
mov ebx, eax
call esi
jmp 0x41c1fb
mov ebx, 0x8004022d
test ebx, ebx
jl 0x41c219
or dword [ebp - 0x1bc], 1
and dword [ebp - 0x38], 0xfffffff7
push 0
lea ecx, [ebp - 0x1d4]
call fcn.0042dbf8
jmp 0x41c26f
mov eax, 0x8003001d
cmp ebx, eax
jg 0x41c244
je 0x41c25e
cmp ebx, 0x80030004
jl 0x41c25c
cmp ebx, 0x80030006
jle 0x41c25e
cmp ebx, 0x80030008
je 0x41c25e
cmp ebx, 0x80030013
jmp 0x41c25a
cmp ebx, 0x80030070
je 0x41c25e
cmp ebx, 0x80040211
je 0x41c25e
cmp ebx, 0x8007000e
je 0x41c25e
xor ebx, ebx
push dword [ebp - 0x1bb8]
lea ecx, [ebp - 0x1d84]
call fcn.004732c6
test ebx, ebx
jl 0x41c2a3
inc dword [ebp - 0x1bbc]
mov eax, dword [ebp - 0x1bbc]
push 0xa
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x41c2a3
push dword [ebp - 0x1bbc]
push dword [ebp - 0x1bdc]
push dword [ebp + 8]
call fcn.0041b301
add esp, 0xc
mov ebx, eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0xb
call fcn.0042fd4b
inc dword [ebp - 0x1bb8]
test ebx, ebx
jge 0x41bf92
test ebx, ebx
mov edi, dword [ebp - 0x1bc0]
mov dword [ebp - 0x1bb8], 1
jl 0x41cf58
mov eax, dword [ebp - 0x1bb8]
cmp eax, dword [ebp - 0x1e48]
ja 0x41c5b6
push edi
push eax
lea eax, [ebp - 0x1e50]
push eax
lea ecx, [ebp - 0x1c7c]
call fcn.0040bfa2
lea ecx, [ebp - 0x1c7c]
mov byte [ebp - 4], 0xf
call fcn.00471e0e
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 0x41c4f8
mov eax, dword [ebp - 0x1c40]
or eax, dword [ebp - 0x1c44]
je 0x41c4f0
lea eax, [ebp - 0x1bc4]
push eax
push dword [ebp - 0x1c40]
lea ecx, [edi + 0x1ca8]
push dword [ebp - 0x1c44]
call fcn.00474471
mov ebx, eax
test ebx, ebx
jl 0x41c4f8
cmp dword [ebp - 0x1bc4], 0xf4240
jbe 0x41c38b
mov ebx, 0x8004022d
test ebx, ebx
jl 0x41c4f8
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 0x41c4f8
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 0x41c4f8
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 0x41c419
cmp dword [ebp - 0x1bfc], eax
je 0x41c419
mov ebx, 0x8003001e
and dword [ebp - 0x1bd0], 0
add eax, esi
jmp 0x41c42e
movzx ecx, byte [esi]
add dword [ebp - 0x1bd0], ecx
inc esi
cmp esi, eax
jne 0x41c424
push dword [edi + 0x1fac]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
test ebx, ebx
jl 0x41c4f8
mov eax, dword [ebp - 0x1bd0]
cmp eax, dword [ebp - 0x1c3c]
jne 0x41c4eb
push 0
lea eax, [ebp - 0x1c14]
push eax
lea eax, [ebp - 0x1bd8]
push eax
push dword [ebp - 0x1bc4]
lea ecx, [ebp - 0x1d00]
call fcn.00473e61
mov ebx, eax
test ebx, ebx
jge 0x41c495
mov eax, dword [0x4054f0]
mov dword [ebp - 0x1bd8], eax
mov eax, dword [0x4054f4]
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 0x41c4f8
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.00474315
push dword [edi + 0x1fac]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x41c4f0
mov ebx, 0x8004022d
test ebx, ebx
jl 0x41c4f8
push 0
jmp 0x41c54c
mov eax, 0x8003001d
cmp ebx, eax
jg 0x41c523
je 0x41c53d
cmp ebx, 0x80030004
jl 0x41c53b
cmp ebx, 0x80030006
jle 0x41c53d
cmp ebx, 0x80030008
je 0x41c53d
cmp ebx, 0x80030013
jmp 0x41c539
cmp ebx, 0x80030070
je 0x41c53d
cmp ebx, 0x80040211
je 0x41c53d
cmp ebx, 0x8007000e
je 0x41c53d
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.00471f6e
test ebx, ebx
jl 0x41c599
inc dword [ebp - 0x1bbc]
mov eax, dword [ebp - 0x1bbc]
push 0xa
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x41c599
push dword [ebp - 0x1bbc]
push dword [ebp - 0x1bdc]
push dword [ebp + 8]
call fcn.0041b301
add esp, 0xc
mov ebx, eax
lea ecx, [ebp - 0x1c7c]
mov byte [ebp - 4], 0xb
call fcn.0040c033
inc dword [ebp - 0x1bb8]
test ebx, ebx
jge 0x41c2d8
test ebx, ebx
jl 0x41cf58
lea ecx, [ebp - 0x1d00]
call fcn.0047426c
mov esi, dword [ebp - 0x1be4]
call fcn.0041ac53
cmp byte [edi + 0x1c], 0
je 0x41c754
mov ecx, dword [ebp - 0x1be8]
lea eax, [ebp - 0x1bc8]
push eax
push 8
call fcn.0046dc34
mov ebx, eax
test ebx, ebx
jl 0x41c617
push 0x497500
push 0x14
push 0x2000
push dword [ebp - 0x1bc8]
lea ecx, [ebp - 0x27c]
call fcn.0046f972
mov ebx, eax
xor esi, esi
inc esi
test ebx, ebx
jl 0x41cf58
cmp esi, dword [ebp - 0x1d7c]
ja 0x41c72a
push edi
push esi
lea eax, [ebp - 0x1d84]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.004301b9
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x10
call fcn.00471e0e
mov ebx, eax
test ebx, ebx
jne 0x41c68b
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.00470e4d
mov ebx, eax
test ebx, ebx
jge 0x41c6e2
mov eax, 0x8003001d
cmp ebx, eax
jg 0x41c6b8
je 0x41c6d2
cmp ebx, 0x80030004
jl 0x41c6d0
cmp ebx, 0x80030006
jle 0x41c6d2
cmp ebx, 0x80030008
je 0x41c6d2
cmp ebx, 0x80030013
jmp 0x41c6ce
cmp ebx, 0x80030070
je 0x41c6d2
cmp ebx, 0x80040211
je 0x41c6d2
cmp ebx, 0x8007000e
je 0x41c6d2
xor ebx, ebx
push esi
lea ecx, [ebp - 0x1d84]
call fcn.004732c6
test ebx, ebx
jl 0x41c712
inc dword [ebp - 0x1bbc]
mov eax, dword [ebp - 0x1bbc]
push 0xa
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x41c712
push dword [ebp - 0x1bbc]
push dword [ebp - 0x1bdc]
push dword [ebp + 8]
call fcn.0041b301
add esp, 0xc
mov ebx, eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0xb
call fcn.0042fd4b
inc esi
test ebx, ebx
jge 0x41c622
test ebx, ebx
jl 0x41cf58
lea ecx, [ebp - 0x27c]
call fcn.0046f130
mov esi, dword [ebp - 0x1bc8]
call fcn.0041ac53
mov eax, dword [ebp - 0x1bc8]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x2c]
call fcn.0041a9ed
lea eax, [ebp - 0x1c08]
push eax
push 6
lea ecx, [ebp - 0x1fc4]
mov byte [ebp - 4], 0x11
call fcn.0046dc34
mov ebx, eax
test ebx, ebx
jl 0x41c799
push 0x4974e4
push 0x14
push 0x2000
push dword [ebp - 0x1c08]
lea ecx, [ebp - 0x3cc]
call fcn.0046f972
mov ebx, eax
test ebx, ebx
mov dword [ebp - 0x1bb8], 1
jl 0x41c8e6
mov eax, dword [ebp - 0x1bb8]
cmp eax, dword [ebp - 0x1d7c]
ja 0x41c8cc
push edi
push eax
lea eax, [ebp - 0x1d84]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.004301b9
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x12
call fcn.00471e0e
mov ebx, eax
test ebx, ebx
jne 0x41c823
mov eax, dword [ebp - 0x1bb8]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1ca4]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0042c86d
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.00470e4d
mov edi, dword [ebp - 0x1bc0]
mov ebx, eax
test ebx, ebx
jge 0x41c87f
mov eax, 0x8003001d
cmp ebx, eax
jg 0x41c850
je 0x41c86a
cmp ebx, 0x80030004
jl 0x41c868
cmp ebx, 0x80030006
jle 0x41c86a
cmp ebx, 0x80030008
je 0x41c86a
cmp ebx, 0x80030013
jmp 0x41c866
cmp ebx, 0x80030070
je 0x41c86a
cmp ebx, 0x80040211
je 0x41c86a
cmp ebx, 0x8007000e
je 0x41c86a
xor ebx, ebx
push dword [ebp - 0x1bb8]
lea ecx, [ebp - 0x1d84]
call fcn.004732c6
test ebx, ebx
jl 0x41c8af
inc dword [ebp - 0x1bbc]
mov eax, dword [ebp - 0x1bbc]
push 0xa
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x41c8af
push dword [ebp - 0x1bbc]
push dword [ebp - 0x1bdc]
push dword [ebp + 8]
call fcn.0041b301
add esp, 0xc
mov ebx, eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x11
call fcn.0042fd4b
inc dword [ebp - 0x1bb8]
test ebx, ebx
jge 0x41c7ab
test ebx, ebx
jl 0x41c8e6
lea ecx, [ebp - 0x3cc]
call fcn.0046f130
mov esi, dword [ebp - 0x1c08]
call fcn.0041ac53
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
call fcn.0046f094
test ebx, ebx
jl 0x41cf58
lea eax, [ebp - 0x1c04]
push eax
push 3
lea ecx, [ebp - 0x1fc4]
call fcn.0046dc34
mov ebx, eax
test ebx, ebx
jl 0x41cf58
push 0x496a90
push 0x14
push 0x2000
push dword [ebp - 0x1c04]
lea ecx, [ebp - 0x474]
call fcn.0046f972
mov ebx, eax
test ebx, ebx
jl 0x41cf58
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 0x41c9bd
lea eax, [ebp - 0x27c]
mov dword [edi + 0x1f9c], eax
lea ecx, [ebp - 0x1580]
call fcn.0041a848
lea esi, [edi + 0x1c68]
mov ecx, esi
mov byte [ebp - 4], 0x13
call fcn.0047426c
mov ebx, eax
test ebx, ebx
jl 0x41cf0d
mov ecx, esi
call fcn.004745ac
mov ebx, eax
test ebx, ebx
jl 0x41cf0d
lea esi, [edi + 0x1ca8]
mov ecx, esi
call fcn.0047426c
mov ebx, eax
test ebx, ebx
jl 0x41cf0d
mov ecx, esi
call fcn.004745ac
mov ebx, eax
test ebx, ebx
jl 0x41cf0d
push 1
push dword [ebp - 0x1bf8]
lea ecx, [edi + 0x1c68]
call fcn.00473c17
mov ebx, eax
test ebx, ebx
jl 0x41cf0d
push 1
push dword [ebp - 0x1be4]
mov ecx, esi
call fcn.00473c17
mov ebx, eax
test ebx, ebx
jl 0x41cf0d
mov dword [ebp - 0x1bb8], 1
xor esi, esi
mov eax, dword [ebp - 0x1bb8]
cmp eax, dword [ebp - 0x1d7c]
ja 0x41cbb6
push edi
push eax
lea eax, [ebp - 0x1d84]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.004301b9
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x14
call fcn.00471e0e
mov ebx, eax
cmp ebx, esi
jne 0x41cb67
lea eax, [ebp - 0x1bd0]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0042eefd
mov ebx, eax
cmp ebx, esi
jl 0x41cb0f
cmp dword [ebp - 0x1bd0], esi
je 0x41cb0b
push dword [ebp - 0x1bd0]
call dword [sym.imp.MSVCRT.dll_wcslen]
test eax, eax
pop ecx
jbe 0x41cb0b
push dword [ebp - 0x18c]
mov eax, dword [ebp - 0x1cc]
push dword [ebp - 0x1bd0]
lea ecx, [ebp - 0x1580]
mov dword [ebp - 0x1164], eax
call fcn.00469ccf
mov ebx, eax
cmp ebx, esi
jl 0x41cb0f
lea eax, [ebp - 0x1580]
push eax
lea ecx, [ebp - 0x474]
call fcn.00470e4d
mov ebx, eax
cmp ebx, esi
jge 0x41cb69
mov eax, 0x8003001d
cmp ebx, eax
jg 0x41cb3a
je 0x41cb54
cmp ebx, 0x80030004
jl 0x41cb52
cmp ebx, 0x80030006
jle 0x41cb54
cmp ebx, 0x80030008
je 0x41cb54
cmp ebx, 0x80030013
jmp 0x41cb50
cmp ebx, 0x80030070
je 0x41cb54
cmp ebx, 0x80040211
je 0x41cb54
cmp ebx, 0x8007000e
je 0x41cb54
xor ebx, ebx
push dword [ebp - 0x1bb8]
lea ecx, [ebp - 0x1d84]
call fcn.004732c6
cmp ebx, esi
jl 0x41cb99
inc dword [ebp - 0x1bbc]
mov eax, dword [ebp - 0x1bbc]
push 0xa
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x41cb99
push dword [ebp - 0x1bbc]
push dword [ebp - 0x1bdc]
push dword [ebp + 8]
call fcn.0041b301
add esp, 0xc
mov ebx, eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x13
call fcn.0042fd4b
inc dword [ebp - 0x1bb8]
cmp ebx, esi
jge 0x41ca5e
cmp ebx, esi
jl 0x41cbd2
lea ecx, [ebp - 0x474]
call fcn.0046f130
mov esi, dword [ebp - 0x1c04]
call fcn.0041ac53
xor esi, esi
lea ecx, [ebp - 0x1bb4]
call fcn.0040cf29
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x1bcc], esi
mov dword [ebp - 0x1c10], esi
call fcn.0043117f
cmp ebx, esi
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x1bec], esi
jl 0x41cc3c
mov ecx, dword [ebp - 0x1be8]
lea eax, [ebp - 0x1c0c]
push eax
push 5
call fcn.0046dc34
mov ebx, eax
cmp ebx, esi
jl 0x41cc3c
push 0x496eb0
push 0x14
push 0x2000
push dword [ebp - 0x1c0c]
lea ecx, [ebp - 0x324]
call fcn.0046f972
mov ebx, eax
cmp ebx, esi
mov dword [ebp - 0x1bb8], 2
jl 0x41ceac
mov eax, dword [ebp - 0x1bb8]
cmp eax, dword [ebp - 0x1e48]
ja 0x41ce92
push edi
push eax
lea eax, [ebp - 0x1e50]
push eax
lea ecx, [ebp - 0x1c7c]
call fcn.0040bfa2
lea ecx, [ebp - 0x1c7c]
mov byte [ebp - 4], 0x17
call fcn.00471e0e
mov ebx, eax
cmp ebx, esi
jne 0x41ce43
mov eax, dword [ebp - 0x1c40]
or eax, dword [ebp - 0x1c44]
jne 0x41cd2f
or dword [ebp - 0x1c24], 1
inc dword [ebp - 0x1bcc]
push 0xa
push dword [ebp - 0x1bcc]
lea eax, [ebp - 0xb46]
push 0x103
push eax
mov word [ebp - 0xb48], 0x2f
call fcn.0041ace8
add esp, 0x10
lea eax, [ebp - 0xb48]
push eax
lea ecx, [ebp - 0x1c7c]
call fcn.0040cbc5
mov ebx, eax
cmp ebx, esi
jl 0x41cd67
push 0xa
push dword [ebp - 0x1bcc]
lea eax, [ebp - 0xb48]
push 0x104
push eax
call fcn.0041ace8
add esp, 0x10
lea eax, [ebp - 0xb48]
push eax
lea ecx, [ebp - 0x1c7c]
call fcn.0040cc44
mov ebx, eax
cmp ebx, esi
jl 0x41cd67
push esi
lea ecx, [ebp - 0x1c7c]
call fcn.00471f6e
mov ebx, eax
cmp ebx, esi
jl 0x41cd67
lea eax, [ebp - 0x1c10]
push eax
lea ecx, [ebp - 0x1c7c]
call fcn.0040cb31
mov ebx, eax
cmp ebx, esi
jl 0x41cd67
lea eax, [ebp - 0x1bec]
push eax
lea ecx, [ebp - 0x1c7c]
call fcn.0040cb56
mov ebx, eax
cmp ebx, esi
jl 0x41cd67
cmp dword [ebp - 0x1c10], esi
je 0x41cd6f
cmp dword [ebp - 0x1bec], esi
jne 0x41cd82
xor eax, eax
mov dword [ebp - 0x1c40], eax
mov dword [ebp - 0x1c44], esi
jmp 0x41cc93
cmp ebx, esi
jl 0x41cdfe
push esi
push esi
push dword [ebp - 0x1c10]
lea ecx, [ebp - 0x1e6c]
call fcn.004318b6
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x18
call fcn.00431831
push esi
push 1
lea ecx, [ebp - 0x1e6c]
mov ebx, eax
mov byte [ebp - 4], 0x17
call fcn.0040ebda
cmp ebx, esi
jl 0x41cdfe
push dword [ebp - 0x1c50]
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x1bec]
push dword [ebp - 0x1bb8]
call fcn.004310ff
push eax
lea ecx, [ebp - 0x1bb4]
call fcn.0040cdc1
mov ebx, eax
cmp ebx, esi
jl 0x41cdfe
lea eax, [ebp - 0x1bb4]
push eax
lea ecx, [ebp - 0x324]
call fcn.00470e4d
mov ebx, eax
cmp ebx, 0x80040202
je 0x41cd6f
cmp ebx, esi
jl 0x41ce75
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.00471f6e
cmp ebx, esi
jl 0x41ce75
inc dword [ebp - 0x1bbc]
mov eax, dword [ebp - 0x1bbc]
push 0xa
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x41ce75
push dword [ebp - 0x1bbc]
push dword [ebp - 0x1bdc]
push dword [ebp + 8]
call fcn.0041b301
add esp, 0xc
mov ebx, eax
lea ecx, [ebp - 0x1c7c]
mov byte [ebp - 4], 0x16
call fcn.0040c033
inc dword [ebp - 0x1bb8]
cmp ebx, esi
jge 0x41cc4e
cmp ebx, esi
jl 0x41ceac
lea ecx, [ebp - 0x324]
call fcn.0046f130
mov esi, dword [ebp - 0x1c0c]
call fcn.0041ac53
lea ebx, [edi + 0x1c68]
mov ecx, ebx
call fcn.004745ac
lea esi, [edi + 0x1484]
push dword [esi]
mov ecx, ebx
push dword [ebp - 0x1c18]
call fcn.00473c17
mov ebx, eax
test ebx, ebx
jl 0x41cef2
lea ebx, [edi + 0x1ca8]
mov ecx, ebx
call fcn.004745ac
push dword [esi]
mov ecx, ebx
push dword [ebp - 0x1c1c]
call fcn.00473c17
mov ebx, eax
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.0040ebda
lea ecx, [ebp - 0x1bb4]
mov byte [ebp - 4], 0x13
call fcn.0046f094
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.0046f094
mov eax, dword [ebp - 0x1c08]
test eax, eax
je 0x41cf68
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c04]
test eax, eax
je 0x41cf78
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c0c]
test eax, eax
je 0x41cf88
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
test ebx, ebx
jl 0x41cfd9
mov ecx, dword [ebp - 0x1be8]
lea eax, [ebp - 0x1bc8]
push eax
push 4
call fcn.0046dc34
mov ebx, eax
test ebx, ebx
jl 0x41cfd9
push dword [ebp - 0x1be4]
lea eax, [ebp - 0x1d00]
push eax
push 2
push 0x2000
push dword [ebp - 0x1bc8]
lea ecx, [ebp - 0x530]
call fcn.0042053a
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 0x41cfe9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1be4]
test eax, eax
je 0x41cff9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
test ebx, ebx
jl 0x41d11d
lea ecx, [ebp - 0x1d84]
call fcn.00472ce1
lea ecx, [ebp - 0x1d84]
call fcn.00471b77
lea ecx, [ebp - 0x1e50]
call fcn.00472ce1
lea ecx, [ebp - 0x1e50]
call fcn.00471b77
lea ecx, [ebp - 0x1dc4]
call fcn.004745ac
lea ecx, [ebp - 0x1d00]
call fcn.004745ac
lea ecx, [ebp - 0x3cc]
call fcn.0046f138
cmp byte [edi + 0x1c], 0
je 0x41d05f
lea ecx, [ebp - 0x27c]
call fcn.0046f138
lea ecx, [ebp - 0x474]
call fcn.0046f138
lea ecx, [ebp - 0x324]
call fcn.0046f138
lea ecx, [ebp - 0x530]
call fcn.0046f130
lea ecx, [ebp - 0x530]
call fcn.004205aa
push 0
lea esi, [edi + 0x1490]
push dword [esi + 4]
lea ecx, [ebp - 0x1fc4]
push dword [esi]
push 0xffffffffffffffff
call fcn.0046c974
push 0
push dword [esi + 4]
lea ecx, [ebp - 0x211c]
push dword [esi]
push 0xffffffffffffffff
call fcn.0046c974
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.0044775f
mov ebx, eax
test ebx, ebx
jl 0x41d10b
cmp byte [edi + 0x1c], 0
je 0x41d10b
push dword [ebp - 0x1bf0]
mov ecx, edi
call fcn.0044775f
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 0x41d134
push dword [ebp - 0x1bf4]
call esi
cmp dword [ebp - 0x1bf0], 0xffffffff
je 0x41d145
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 0x41d369
mov esi, dword [ebp - 0x1bc0]
mov al, byte [esi + 0x1c]
mov ecx, esi
mov byte [ebp - 0x1bdd], al
call fcn.00446993
mov ebx, eax
test ebx, ebx
mov al, byte [ebp - 0x1bdd]
mov byte [esi + 0x1c], al
jl 0x41d33d
mov eax, esi
add eax, 0x1e
mov dword [ebp - 0x1bcc], eax
push eax
mov eax, 0x104
lea esi, [ebp - 0x940]
call fcn.0041b141
test al, al
pop ecx
je 0x41d33d
mov eax, esi
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileW]
push eax
push dword [ebp - 0x1bcc]
call esi
test eax, eax
jne 0x41d1f9
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
test eax, eax
jg 0x41d258
call edi
mov ebx, eax
jmp 0x41d268
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 0x41d268
call edi
test eax, eax
jg 0x41d228
call edi
mov ebx, eax
jmp 0x41d238
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 0x41d1ed
and dword [ebp - 0x1c00], 0
jmp 0x41d268
call edi
mov ebx, eax
and ebx, 0xffff
or ebx, 0x80070000
test ebx, ebx
jl 0x41d342
mov eax, dword [ebp - 0x1bc0]
cmp byte [eax + 0x1c], 0
je 0x41d342
add eax, 0x226
push eax
mov eax, 0x104
lea esi, [ebp - 0x738]
call fcn.0041b141
test al, al
pop ecx
je 0x41d342
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 0x41d2de
call edi
test eax, eax
jg 0x41d2cc
call edi
mov ebx, eax
jmp 0x41d342
call edi
mov ebx, eax
and ebx, 0xffff
or ebx, 0x80070000
jmp 0x41d342
push dword [ebp - 0x1c98]
lea eax, [ebp - 0x738]
push eax
mov dword [ebp - 0x1c00], 1
call esi
test eax, eax
jne 0x41d342
call edi
test eax, eax
jg 0x41d307
call edi
mov ebx, eax
jmp 0x41d317
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 0x41d2c0
and dword [ebp - 0x1c00], 0
jmp 0x41d342
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.004488f8
test eax, eax
jge 0x41d387
mov ebx, eax
jmp 0x41d387
lea eax, [ebp - 0xd50]
push eax
call esi
mov eax, dword [ebp - 0x1bc0]
cmp byte [eax + 0x1c], 0
je 0x41d387
lea eax, [ebp - 0x1160]
push eax
call esi
test ebx, ebx
mov esi, dword [ebp - 0x1bc0]
jl 0x41d3ab
push dword [ebp + 8]
mov ecx, esi
push 0
push dword [ebp - 0x1bbc]
push dword [ebp - 0x1bdc]
call fcn.0041b47e
mov ebx, eax
test ebx, ebx
mov dword [esi + 0x2208], 1
jl 0x41d3f8
mov edi, dword [ebp - 0x1bc0]
mov ecx, edi
call fcn.004480b3
mov esi, dword [edi + 0x1fa8]
call fcn.0041ac53
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x940]
push eax
call esi
cmp byte [edi + 0x1c], 0
je 0x41d49f
lea eax, [ebp - 0x738]
push eax
call esi
jmp 0x41d49f
cmp dword [ebp - 0x1c00], 0
je 0x41d49f
and dword [ebp - 0x1bcc], 0
mov ecx, esi
call fcn.00446993
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [esi + 0x1e]
push eax
call edi
test eax, eax
je 0x41d438
lea eax, [esi + 0x1e]
push eax
lea eax, [ebp - 0x940]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x41d442
mov dword [ebp - 0x1bcc], 0x80004005
cmp byte [esi + 0x1c], 0
je 0x41d477
lea eax, [esi + 0x226]
push eax
call edi
test eax, eax
je 0x41d46d
lea eax, [esi + 0x226]
push eax
lea eax, [ebp - 0x738]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x41d477
mov dword [ebp - 0x1bcc], 0x80004005
cmp dword [ebp - 0x1bcc], 0
jl 0x41d49f
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.004488f8
push ebx
push dword [ebp + 8]
call fcn.0041b369
cmp ebx, 0x80004004
pop ecx
pop ecx
jne 0x41d4b7
mov ebx, 0x80040e4e
lea ecx, [ebp - 0x1cbc]
mov byte [ebp - 4], 0xa
call fcn.0046f094
lea ecx, [ebp - 0x530]
mov byte [ebp - 4], 9
call fcn.0042046f
lea ecx, [ebp - 0x324]
mov byte [ebp - 4], 8
call fcn.0046f32b
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 7
call fcn.0046f32b
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 6
call fcn.0046f32b
lea ecx, [ebp - 0x3cc]
mov byte [ebp - 4], 5
call fcn.0046f32b
lea ecx, [ebp - 0x1d00]
mov byte [ebp - 4], 4
call fcn.00473b71
lea ecx, [ebp - 0x1dc4]
mov byte [ebp - 4], 3
call fcn.00473b71
lea ecx, [ebp - 0x1e50]
mov byte [ebp - 4], 2
call fcn.0040c644
lea ecx, [ebp - 0x1d84]
mov byte [ebp - 4], 1
call fcn.0041adcc
lea ecx, [ebp - 0x211c]
mov byte [ebp - 4], 0
call fcn.0046bbb6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1fc4]
call fcn.0046bbb6
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.0046e295
leave
ret 4