Function at 0x410530
Capabilities:
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x1a90
call fcn.00415e20
mov dword [esp + 0x1a7c], 0
mov dword [esp + 0x1a78], 0
mov dword [esp + 0x1a74], 0
mov dword [esp + 0x1a70], 0
mov dword [esp + 0x1a6c], 0
mov dword [esp + 0x1a68], 0
mov dword [esp + 0x1a64], 0
mov dword [esp + 0x1a60], 0
mov dword [esp + 0x1a5c], 0
mov dword [esp + 0x1a58], 0
mov dword [esp + 0x1a54], 0
mov dword [esp + 0x1a50], 0
mov dword [esp + 0x1a4c], 0
mov dword [esp + 0x1a48], 0
mov dword [esp + 0x1a44], 0
mov dword [esp + 0x1a40], 0
mov dword [esp + 0x1a04], 0
lea eax, [esp + 0x17fa]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00416690
lea eax, [esp + 0x15f0]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00416690
lea ebx, [esp + 0x13e6]
mov dword [esp], ebx
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00416690
lea eax, [esp + 0x11dc]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00416690
lea eax, [esp + 0xfd2]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00416690
lea eax, [esp + 0xdc8]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00416690
lea eax, [esp + 0xbbe]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00416690
lea eax, [esp + 0x9b4]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00416690
lea eax, [esp + 0x7aa]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00416690
lea edi, [esp + 0x5a0]
mov dword [esp], edi
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00416690
lea esi, [esp + 0x396]
mov dword [esp], esi
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00416690
lea eax, [esp + 0xc4]
mov dword [esp], eax
mov dword [esp + 8], 0xc8
mov dword [esp + 4], 0
call fcn.00416690
mov dword [esp + 0xc0], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov word [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0xffffffff
call fcn.0040fe50
mov dword [esp + 0x1a84], eax
mov dword [esp + 0x50], 0xfaa6e813
jmp 0x4108d0
mov dword [esp + 8], esi
mov dword [esp], edi
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0x104
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
sub esp, 0x10
mov dword [esp], ebx
mov dword [esp + 4], 0x104
call fcn.00403fa0
mov dword [esp], ebx
call fcn.004045d0
mov dword [esp + 0x60], eax
mov dword [esp], 0
call fcn.00411f00
mov dword [esp], eax
call fcn.00416822
mov dword [esp + 0x50], 0x3361c2
nop
nop
nop
mov eax, dword [esp + 0x50]
cmp eax, 0x8af9b135
jg 0x4108f0
cmp eax, 0x8293d969
jne 0x4108d0
jmp 0x410875
cmp eax, 0x97c515d6
jg 0x410910
cmp eax, 0x8af9b136
jne 0x4108d0
mov dword [esp + 0x50], 0x7b52b72
jmp 0x4108d0
cmp eax, 0xa1732cb5
jg 0x410928
cmp eax, 0x97c515d7
jne 0x4108d0
mov dword [esp + 0x50], 0xce996517
jmp 0x4108d0
cmp eax, 0xbb3f8242
jg 0x410954
cmp eax, 0xa1732cb6
jne 0x4108d0
mov al, byte [esp + 0x1a8b]
test al, al
mov eax, 0x8011541
jne 0x41094b
mov eax, 0x2e725b38
mov dword [esp + 0x50], eax
jmp 0x4108d0
cmp eax, 0xbf05f95f
jg 0x41097e
cmp eax, 0xbb3f8243
jne 0x4108d0
mov dword [esp + 0x1a80], 0
mov dword [esp + 0x50], 0x8af9b136
jmp 0x4108d0
cmp eax, 0x75453023
jg 0x410a12
cmp eax, 0x73aeab6d
jg 0x410a2a
cmp eax, 0x58e27545
jg 0x410ac7
cmp eax, 0x4fe94dd4
jg 0x410adf
cmp eax, 0x4d1cdced
jg 0x410af7
cmp eax, 0x4803b41d
jg 0x410b1a
cmp eax, 0x3d8d1356
jg 0x410b58
cmp eax, 0x3c7cc039
jg 0x410b70
cmp eax, 0x3429d6d4
jg 0x410b93
cmp eax, 0x31d47df5
jg 0x410bf6
cmp eax, 0x2fe70393
jg 0x410c06
cmp eax, 0xbfa66ac0
jg 0x410c2a
cmp eax, 0xbf05f960
jne 0x4108d0
jmp 0x410dfa
cmp eax, 0x75453024
jne 0x4108d0
mov dword [esp + 0x50], 0xce996517
jmp 0x4108d0
cmp eax, 0x73aeab6e
jne 0x4108d0
mov eax, dword [esp + 0x1a78]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [0x4d1e64]
sub esp, 0x10
lea eax, [esp + 0x9b4]
mov dword [esp + 0x1a50], eax
mov dword [esp + 0x1a54], 0
mov dword [esp + 0x1a5c], 1
lea eax, [esp + 0x1a40]
mov dword [esp], eax
call dword [0x4d1e68]
sub esp, 4
cmp eax, 1
mov eax, 0xf35d253d
jne 0x410abe
mov eax, 0xc632497b
mov dword [esp + 0x50], eax
jmp 0x4108d0
cmp eax, 0x58e27546
jne 0x4108d0
mov dword [esp + 0x50], 0x2e99851e
jmp 0x4108d0
cmp eax, 0x4fe94dd5
jne 0x4108d0
mov dword [esp + 0x50], 0xbb3f8243
jmp 0x4108d0
cmp eax, 0x4d1cdcee
jne 0x4108d0
mov dword [esp + 0x1a80], 0
mov dword [esp + 0x50], 0xbb3f8243
jmp 0x4108d0
cmp eax, 0x4803b41e
jne 0x4108d0
mov dword [esp + 4], edi
mov dword [esp + 8], 0x104
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
sub esp, 0xc
test eax, eax
mov eax, 0x8293d969
jne 0x410b4f
mov eax, 0x13c548db
mov dword [esp + 0x50], eax
jmp 0x4108d0
cmp eax, 0x3d8d1357
jne 0x4108d0
mov dword [esp + 0x50], 0x7b52b72
jmp 0x4108d0
cmp eax, 0x3c7cc03a
jne 0x4108d0
mov dword [esp + 0x1a80], 0xffffffff
mov dword [esp + 0x50], 0xc55b503c
jmp 0x4108d0
cmp eax, 0x3429d6d5
jne 0x4108d0
mov eax, dword [esp + 0x1a78]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [0x4d1e64]
sub esp, 0x10
mov dword [esp + 0x58], 1
mov dword [esp + 0x50], 0xf1fe57f8
jmp 0x4108d0
cmp eax, 0x31d47df6
jne 0x4108d0
jmp 0x410eb5
cmp eax, 0x2fe70394
jne 0x4108d0
lea eax, [esp + 0x5c]
mov dword [esp], eax
call fcn.0040edd0
mov dword [esp + 0x50], 0x8b14d48
jmp 0x4108d0
cmp eax, 0xc55b503b
jg 0x410c72
cmp eax, 0xbfa66ac1
jne 0x4108d0
lea eax, [esp + 0xbbe]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], 1
call dword [sym.imp.KERNEL32.dll_CopyFileW]
sub esp, 0xc
test eax, eax
mov eax, 0x3361c2
je 0x410c69
mov eax, 0xc5e10b37
mov dword [esp + 0x50], eax
jmp 0x4108d0
cmp eax, 0xc5e10b36
jg 0x410c9c
cmp eax, 0xc55b503c
jne 0x4108d0
mov dword [esp + 0x1a80], 0xffffffff
mov dword [esp + 0x50], 0x3d8d1357
jmp 0x4108d0
cmp eax, 0xc632497a
jg 0x410cbb
cmp eax, 0xc5e10b37
jne 0x4108d0
mov dword [esp + 0x50], 0x8011541
jmp 0x4108d0
cmp eax, 0xce996516
jg 0x410db9
cmp eax, 0xc632497b
jne 0x4108d0
mov eax, dword [esp + 0x1a78]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 8
lea eax, [esp + 0x18c]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00403af0
lea eax, [esp + 0x18c]
mov dword [esp], eax
mov dword [esp + 0xc], 6
mov dword [esp + 8], str._q__u
mov dword [esp + 4], 0x104
call fcn.00404250
lea eax, [esp + 0xfd2]
mov dword [esp], eax
call fcn.004045d0
mov dword [esp + 0xc], eax
lea eax, [esp + 0xfd2]
mov dword [esp + 8], eax
lea eax, [esp + 0x198]
mov dword [esp], eax
mov dword [esp + 4], 0xfe
call fcn.00404250
lea eax, [esp + 0x15f0]
mov dword [esp + 0x1a50], eax
lea eax, [esp + 0x18c]
mov dword [esp + 0x1a54], eax
mov dword [esp + 0x1a5c], 0
lea eax, [esp + 0x1a40]
mov dword [esp], eax
call dword [0x4d1e68]
sub esp, 4
cmp eax, 1
mov eax, 0xe9980307
jne 0x410db0
mov eax, 0x3429d6d5
mov dword [esp + 0x50], eax
jmp 0x4108d0
cmp eax, 0xdb01c78b
jg 0x410de8
cmp eax, 0xce996517
jne 0x4108d0
cmp dword [esp + 0x1a7c], 0
sete byte [esp + 0x1a8b]
mov dword [esp + 0x50], 0xa1732cb6
jmp 0x4108d0
cmp eax, 0xe9980306
jg 0x410e12
cmp eax, 0xdb01c78c
jne 0x4108d0
mov dword [esp + 0x1a80], 0xffffffff
mov dword [esp + 0x50], 0x7b52b72
jmp 0x4108d0
cmp eax, 0xed54205e
jg 0x410e31
cmp eax, 0xe9980307
jne 0x4108d0
mov dword [esp + 0x50], 0xf1fe57f8
jmp 0x4108d0
cmp eax, 0xf1fe57f7
jg 0x410e61
cmp eax, 0xed54205f
jne 0x4108d0
mov al, byte [esp + 0x1a8a]
test al, al
mov eax, 0xdb01c78c
jne 0x410e58
mov eax, 0x4803b41e
mov dword [esp + 0x50], eax
jmp 0x4108d0
cmp eax, 0xf35d253c
jg 0x410ea3
cmp eax, 0xf1fe57f8
jne 0x4108d0
lea eax, [esp + 0xfd2]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
sub esp, 4
call fcn.004104b0
mov eax, dword [esp + 0x58]
mov dword [esp + 0x1a80], eax
mov dword [esp + 0x50], 0x7b52b72
jmp 0x4108d0
cmp eax, 0xfaa6e812
jg 0x410edd
cmp eax, 0xf35d253d
jne 0x4108d0
lea eax, [esp + 0xbbe]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
sub esp, 4
mov dword [esp], esi
call fcn.0040ecf0
mov dword [esp + 0x50], 0xf1fe57f8
jmp 0x4108d0
cmp eax, 0xfcdaa5eb
jg 0x410f0c
cmp eax, 0xfaa6e813
jne 0x4108d0
mov eax, 0xbf05f960
cmp dword [esp + 0x1a84], 0
js 0x410f03
mov eax, 0xfcdaa5ec
mov dword [esp + 0x50], eax
jmp 0x4108d0
cmp eax, 0x3361c1
jg 0x410f2b
cmp eax, 0xfcdaa5ec
jne 0x4108d0
mov dword [esp + 0x50], 0x8b14d48
jmp 0x4108d0
cmp eax, 0x202123c
jg 0x411042
cmp eax, 0x3361c2
jne 0x4108d0
lea eax, [esp + 0xdc8]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00403af0
lea eax, [esp + 0xbbe]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00403af0
lea eax, [esp + 0xdc8]
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.00404b80
lea eax, [esp + 0xdc8]
mov dword [esp], eax
call fcn.004045d0
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
lea eax, [esp + 0xbbe]
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.00404250
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x60]
mov edx, 0x104
sub edx, ecx
lea ecx, [esp + ecx*2 + 0xbbe]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xdc8]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00404250
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x54]
lea edx, [esp + eax*2 + 0xbbe]
lea edx, [edx + ecx*2]
neg ecx
sub ecx, eax
add ecx, 0x104
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x4204f4
call fcn.00404250
mov dword [esp + 0x50], 0xbfa66ac1
jmp 0x4108d0
cmp eax, 0x7b52b71
jg 0x411072
cmp eax, 0x202123d
jne 0x4108d0
mov al, byte [esp + 0x1a89]
test al, al
mov eax, 0x4fe94dd5
jne 0x411069
mov eax, 0x58e27546
mov dword [esp + 0x50], eax
jmp 0x4108d0
cmp eax, 0x8011540
jg 0x411089
cmp eax, 0x7b52b72
jne 0x4108d0
jmp 0x411eed
cmp eax, 0x8b14d47
jg 0x411182
cmp eax, 0x8011541
jne 0x4108d0
lea eax, [esp + 0x11dc]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00403af0
lea eax, [esp + 0xfd2]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00403af0
lea eax, [esp + 0x11dc]
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.00404b80
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
lea eax, [esp + 0xfd2]
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.00404250
lea eax, [esp + 0x11dc]
mov dword [esp], eax
call fcn.004045d0
mov ecx, dword [esp + 0x60]
mov edx, 0x104
sub edx, ecx
lea ecx, [esp + ecx*2 + 0xfd2]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x11dc]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00404250
lea eax, [esp + 0xfd2]
mov dword [esp], eax
mov dword [esp + 4], 0
call dword [0x4d1e60]
sub esp, 8
mov dword [esp + 0x1a7c], eax
mov dword [esp + 0x50], 0x97c515d7
jmp 0x4108d0
cmp eax, 0x9b30321
jg 0x4111b7
cmp eax, 0x8b14d48
jne 0x4108d0
lea eax, [esp + 0x5c]
mov dword [esp], eax
call fcn.0040edd0
test eax, eax
setne byte [esp + 0x1a89]
mov dword [esp + 0x50], 0x202123d
jmp 0x4108d0
cmp eax, 0x13c548da
jg 0x4111d6
cmp eax, 0x9b30322
jne 0x4108d0
mov dword [esp + 0x50], 0x2e99851e
jmp 0x4108d0
cmp eax, 0x13c548db
je 0x411eb9
cmp eax, 0x2e725b38
jne 0x411ec6
mov eax, dword [0x4d1cac]
mov dword [esp + 0x4c], eax
mov ecx, dword [0x4d1cd4]
mov edx, dword [esp + 0x1a7c]
lea eax, [esp + 0x1a3c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
call dword [0x4d1e54]
sub esp, 0x18
mov eax, dword [0x4d1cbc]
mov dword [esp + 0x4c], eax
mov ecx, dword [0x4d1cd4]
mov edx, dword [esp + 0x1a7c]
lea eax, [esp + 0x1a38]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call dword [0x4d1e54]
sub esp, 0x18
mov eax, dword [0x4d1cc0]
mov dword [esp + 0x4c], eax
mov ecx, dword [0x4d1cd4]
mov edx, dword [esp + 0x1a7c]
lea eax, [esp + 0x1a34]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call dword [0x4d1e54]
sub esp, 0x18
mov eax, dword [0x4d1cac]
mov dword [esp + 0x4c], eax
mov ecx, dword [0x4d1cd0]
mov edx, dword [esp + 0x1a7c]
lea eax, [esp + 0x1a30]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call dword [0x4d1e54]
sub esp, 0x18
mov eax, dword [0x4d1ca0]
mov dword [esp + 0x4c], eax
mov ecx, dword [0x4d1ce0]
mov edx, dword [esp + 0x1a7c]
lea eax, [esp + 0x1a2c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call dword [0x4d1e54]
sub esp, 0x18
mov eax, dword [0x4d1cac]
mov dword [esp + 0x4c], eax
mov ecx, dword [0x4d1ce4]
mov edx, dword [esp + 0x1a7c]
lea eax, [esp + 0x1a28]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
call dword [0x4d1e54]
sub esp, 0x18
mov eax, dword [0x4d1cf0]
mov dword [esp + 0x4c], eax
mov ecx, dword [0x4d1ce8]
mov edx, dword [esp + 0x1a7c]
lea eax, [esp + 0x1a24]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call dword [0x4d1e54]
sub esp, 0x18
mov eax, dword [0x4d1cec]
mov dword [esp + 0x4c], eax
mov ecx, dword [0x4d1ce8]
mov edx, dword [esp + 0x1a7c]
lea eax, [esp + 0x1a20]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
call dword [0x4d1e54]
sub esp, 0x18
mov eax, dword [0x4d1cec]
mov dword [esp + 0x4c], eax
mov ecx, dword [0x4d1cd4]
mov edx, dword [esp + 0x1a7c]
lea eax, [esp + 0x1a1c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
call dword [0x4d1e54]
sub esp, 0x18
mov eax, dword [esp + 0x1a7c]
mov dword [esp], eax
call dword [0x4d1e50]
sub esp, 4
call fcn.004167ff
mov ecx, eax
xor ecx, 0xfffffff0
and ecx, eax
lea eax, [esp + 0xc4]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.004171b4
lea eax, [esp + 0xc4]
mov dword [esp], eax
call fcn.004045d0
mov dword [esp + 0x6c], eax
lea ecx, [eax + 1]
mov dword [esp + 0x6c], ecx
mov word [esp + eax*2 + 0xc4], 0x2e
mov eax, dword [esp + 0x6c]
lea eax, [esp + eax*2 + 0xc4]
mov dword [esp + 0x4c], eax
call fcn.004167ff
and eax, 1
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.004171b4
lea eax, [esp + 0xc4]
mov dword [esp], eax
call fcn.004045d0
mov dword [esp + 0x6c], eax
lea ecx, [eax + 1]
mov dword [esp + 0x6c], ecx
mov word [esp + eax*2 + 0xc4], 0x2e
mov eax, dword [esp + 0x6c]
lea eax, [esp + eax*2 + 0xc4]
mov dword [esp + 0x4c], eax
call fcn.004167ff
mov ecx, eax
xor ecx, 0xfffffffa
and ecx, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.004171b4
lea eax, [esp + 0xc4]
mov dword [esp], eax
call fcn.004045d0
mov dword [esp + 0x6c], eax
mov ecx, eax
neg ecx
mov edx, 1
sub edx, ecx
mov dword [esp + 0x6c], edx
mov word [esp + eax*2 + 0xc4], 0x2e
mov eax, dword [esp + 0x6c]
lea eax, [esp + eax*2 + 0xc4]
mov dword [esp + 0x4c], eax
call fcn.004167ff
mov ecx, eax
xor ecx, 0xfffffff3
and ecx, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.004171b4
lea eax, [esp + 0xc4]
mov dword [esp], eax
call fcn.004045d0
mov dword [esp + 0x6c], eax
mov eax, dword [0x4cfe84]
movzx eax, byte [eax]
mov dword [esp + 0x68], eax
not eax
mov ecx, dword [0x4cfe84]
neg eax
movzx eax, byte [ecx + eax]
mov dword [esp + 0x64], eax
mov ecx, dword [0x4cfe84]
mov edx, dword [esp + 0x68]
lea edx, [ecx + edx + 2]
inc ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
lea eax, [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.00402910
mov eax, dword [0x4d1cc8]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e4c]
sub esp, 8
mov dword [esp + 0x1a18], eax
mov eax, dword [0x4d1cf8]
mov ecx, dword [0x4d1ca8]
mov edx, dword [esp + 0x1a7c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0xc], 0
call dword [0x4d1e44]
sub esp, 0x10
mov eax, dword [0x4d1cc4]
mov ecx, dword [esp + 0x1a7c]
lea edx, [esp + 0xc4]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e40]
sub esp, 0xc
mov eax, dword [0x4d1cac]
mov ecx, dword [esp + 0x1a7c]
lea edx, [esp + 0x11dc]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e40]
sub esp, 0xc
mov eax, dword [0x4d1ca4]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 1
call dword [0x4d1e3c]
sub esp, 0xc
mov eax, dword [0x4d1cf4]
mov ecx, dword [esp + 0x1a7c]
lea edx, [esp + 0x8c]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 0xc], 0x10
call dword [0x4d1e38]
sub esp, 0x10
mov eax, dword [0x4d1ccc]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e4c]
sub esp, 8
mov dword [esp + 0x1a14], eax
mov eax, dword [esp + 0x1a30]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e34]
sub esp, 8
mov eax, dword [esp + 0x1a30]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e30]
sub esp, 8
mov eax, dword [esp + 0x1a28]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e34]
sub esp, 8
mov eax, dword [esp + 0x1a28]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e30]
sub esp, 8
mov eax, dword [esp + 0x1a14]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e48]
sub esp, 8
mov eax, dword [esp + 0x1a38]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e34]
sub esp, 8
mov eax, dword [esp + 0x1a38]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e30]
sub esp, 8
mov eax, dword [esp + 0x1a34]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e34]
sub esp, 8
mov eax, dword [esp + 0x1a34]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e30]
sub esp, 8
mov eax, dword [esp + 0x1a3c]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e34]
sub esp, 8
mov eax, dword [esp + 0x1a1c]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e34]
sub esp, 8
call fcn.004167ff
mov ecx, eax
mov edx, 0xcccccccd
mul edx
shr edx, 2
lea eax, [edx + edx*4]
sub ecx, eax
mov eax, dword [ecx*4 + 0x4cfe88]
mov dword [esp + 0x1a04], eax
movzx eax, word [eax]
mov dword [esp + 0x68], eax
not eax
mov ecx, dword [esp + 0x1a04]
add eax, eax
neg eax
movzx eax, word [ecx + eax]
mov dword [esp + 0x48], eax
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x1a04]
mov edx, dword [esp + 0x68]
lea eax, [ecx + edx*2 + 4]
mov dword [esp + 0x4c], eax
add ecx, 2
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
lea eax, [esp + 0x17fa]
mov dword [esp], eax
call fcn.00402d80
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x17fa]
mov dword [esp + 8], eax
lea eax, [esp + 0x9b4]
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.00404250
mov eax, dword [esp + 0x68]
mov ecx, 0x104
sub ecx, eax
lea eax, [esp + eax*2 + 0x9b4]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x4204f4
call fcn.00404250
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x17fa]
mov dword [esp + 8], eax
lea eax, [esp + 0x7aa]
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.00404250
mov eax, dword [esp + 0x68]
mov ecx, 0x104
sub ecx, eax
lea eax, [esp + eax*2 + 0x7aa]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 6
mov dword [esp + 8], str.32.exe
call fcn.00404250
mov eax, dword [0x4cfe9c]
movzx eax, byte [eax]
mov dword [esp + 0x68], eax
not eax
mov ecx, dword [0x4cfe9c]
neg eax
movzx eax, byte [ecx + eax]
mov dword [esp + 0x64], eax
mov ecx, dword [0x4cfe9c]
mov edx, dword [esp + 0x68]
lea edx, [ecx + edx + 2]
inc ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
lea eax, [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.00402910
mov eax, dword [0x4d1cd4]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e4c]
sub esp, 8
mov dword [esp + 0x1a10], eax
mov eax, dword [0x4d1cac]
mov ecx, dword [esp + 0x1a7c]
lea edx, [esp + 0x9b4]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e40]
sub esp, 0xc
mov eax, dword [0x4d1cb4]
mov ecx, dword [esp + 0x1a7c]
lea edx, [esp + 0x7aa]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e40]
sub esp, 0xc
mov eax, dword [0x4d1cb0]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], str.Microsoft
call dword [0x4d1e40]
sub esp, 0xc
mov eax, dword [0x4d1cec]
mov ecx, dword [esp + 0x1a7c]
lea edx, [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 0xc], 0x10
call dword [0x4d1e38]
sub esp, 0x10
mov eax, dword [0x4d1cd8]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e4c]
sub esp, 8
mov dword [esp + 0x1a0c], eax
mov eax, dword [0x4d1cac]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0x420520
call dword [0x4d1e40]
sub esp, 0xc
mov eax, dword [esp + 0x1a0c]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e48]
sub esp, 8
mov eax, dword [0x4cfea0]
movzx eax, word [eax]
mov dword [esp + 0x68], eax
mov ecx, dword [0x4cfea0]
movzx eax, word [ecx + eax*2 + 2]
mov dword [esp + 0x48], eax
mov dword [esp + 0x64], eax
mov ecx, dword [0x4cfea0]
mov edx, dword [esp + 0x68]
lea eax, [ecx + edx*2 + 4]
mov dword [esp + 0x4c], eax
add ecx, 2
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
lea eax, [esp + 0x9c]
mov dword [esp], eax
call fcn.00402d80
mov eax, dword [0x4d1cdc]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e4c]
sub esp, 8
mov dword [esp + 0x1a08], eax
mov eax, dword [0x4d1cac]
mov ecx, dword [esp + 0x1a7c]
lea edx, [esp + 0x9c]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e40]
sub esp, 0xc
mov eax, dword [0x4d1cb8]
mov ecx, dword [esp + 0x1a7c]
lea edx, [esp + 0xbbe]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e40]
sub esp, 0xc
mov eax, dword [esp + 0x1a08]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e48]
sub esp, 8
mov eax, dword [esp + 0x1a10]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e48]
sub esp, 8
mov eax, dword [esp + 0x1a1c]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e30]
sub esp, 8
mov eax, dword [esp + 0x1a3c]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e30]
sub esp, 8
mov eax, dword [esp + 0x1a24]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e34]
sub esp, 8
mov eax, dword [esp + 0x1a20]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e34]
sub esp, 8
mov eax, dword [esp + 0x1a20]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e30]
sub esp, 8
mov eax, dword [esp + 0x1a24]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e30]
sub esp, 8
mov eax, dword [esp + 0x1a2c]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e34]
sub esp, 8
mov eax, dword [esp + 0x1a2c]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e30]
sub esp, 8
mov eax, dword [esp + 0x1a18]
mov ecx, dword [esp + 0x1a7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x4d1e48]
sub esp, 8
mov eax, dword [esp + 0x1a7c]
mov dword [esp], eax
call dword [0x4d1e58]
sub esp, 4
mov dword [esp + 0x1a40], 0x3c
mov dword [esp + 0x1a44], 0x40
mov dword [esp + 0x1a48], 0
mov dword [esp + 0x1a4c], 0x420524
mov dword [esp + 0x1a58], 0
mov dword [esp + 0x1a60], 0
lea eax, [esp + 0x18c]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00403af0
lea eax, [esp + 0x18c]
mov dword [esp], eax
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x42052e
mov dword [esp + 4], 0x104
call fcn.00404250
lea eax, [esp + 0xfd2]
mov dword [esp], eax
call fcn.004045d0
mov dword [esp + 0xc], eax
lea eax, [esp + 0xfd2]
mov dword [esp + 8], eax
lea eax, [esp + 0x192]
mov dword [esp], eax
mov dword [esp + 4], 0x101
call fcn.00404250
mov eax, dword [0x4cfea4]
movzx eax, word [eax]
mov dword [esp + 0x68], eax
mov ecx, dword [0x4cfea4]
movzx eax, word [ecx + eax*2 + 2]
mov dword [esp + 0x48], eax
mov dword [esp + 0x64], eax
mov ecx, dword [0x4cfea4]
mov edx, dword [esp + 0x68]
lea eax, [ecx + edx*2 + 4]
mov dword [esp + 0x4c], eax
add ecx, 2
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
lea eax, [esp + 0x15f0]
mov dword [esp], eax
call fcn.00402d80
lea eax, [esp + 0x15f0]
mov dword [esp + 0x1a50], eax
lea eax, [esp + 0x18c]
mov dword [esp + 0x1a54], eax
mov dword [esp + 0x1a5c], 0
lea eax, [esp + 0x1a40]
mov dword [esp], eax
call dword [0x4d1e68]
sub esp, 4
cmp eax, 1
mov eax, 0x31d47df6
jne 0x411eb0
mov eax, 0x73aeab6e
mov dword [esp + 0x50], eax
jmp 0x4108d0
mov dword [esp + 0x50], 0xc55b503c
jmp 0x4108d0
cmp eax, 0x2e99851e
jne 0x4108d0
cmp dword [esp + 0x5c], 6
setb al
mov byte [esp + 0x1a8a], al
mov dword [esp + 0x50], 0xed54205f
jmp 0x4108d0
mov eax, dword [esp + 0x1a80]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret