Function at 0x405790
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xd40
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x24]
call fcn.00406b60
mov esi, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0xb8c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xb90], eax
call fcn.00406b70
call fcn.00406b80
mov eax, dword [ebp + 8]
mov dword [ebp - 0xb98], eax
mov eax, dword [ebp - 0xb8c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], ecx
call fcn.00406b90
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x28], ebx
call fcn.00406ba0
call fcn.00406bb0
mov edx, dword [ebp - 0xb94]
mov dword [ebp - 0x30], edx
mov esi, dword [ebp - 0xb98]
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x74], 0
mov edi, esp
lea ebx, [ebp - 0x27e]
mov dword [edi], ebx
mov dword [edi + 8], 0x20a
mov dword [edi + 4], 0
call fcn.0041b1c0
mov eax, 0x1ff
mov eax, esp
lea ecx, [ebp - 0x488]
mov dword [eax], ecx
mov dword [eax + 8], 0x20a
mov dword [eax + 4], 0
mov dword [ebp - 0xb9c], ecx
call fcn.0041b1c0
mov eax, esi
mov eax, esp
lea ecx, [ebp - 0x692]
mov dword [eax], ecx
mov dword [eax + 8], 0x20a
call fcn.00406bc0
mov dword [ebp - 0xba0], ecx
call fcn.0041b1c0
mov eax, esp
lea ecx, [ebp - 0x6f6]
call fcn.00406bd0
call fcn.00406be0
mov dword [eax + 4], 0
call fcn.0041b1c0
mov eax, esp
lea ecx, [ebp - 0x900]
mov dword [eax], ecx
mov dword [eax + 8], 0x20a
mov dword [eax + 4], 0
call fcn.0041b1c0
mov eax, esp
lea ecx, [ebp - 0xb0a]
call fcn.00406bf0
mov dword [eax + 8], 0x20a
mov dword [eax + 4], 0
call fcn.0041b1c0
mov dword [ebp - 0xb10], 0
mov dword [ebp - 0xb14], 0
call fcn.00406c00
mov dword [ebp - 0xb1c], 0
call fcn.00406c10
mov dword [ebp - 0xb24], 0
call fcn.00406c20
mov dword [ebp - 0xb2c], 0
mov dword [ebp - 0xb30], 0
mov dword [ebp - 0xb34], 0
call fcn.00406c30
call fcn.00406c40
call fcn.00406c50
call fcn.00406c60
call fcn.00406c70
mov dword [ebp - 0xb4c], 0
mov dword [ebp - 0xb50], 0
mov dword [ebp - 0xb54], 0
mov eax, esp
mov ecx, dword [ebp - 0xba0]
call fcn.00406c80
mov dword [eax + 4], 0x104
call fcn.0046b2b0
mov dword [ebp - 0xb58], eax
mov eax, dword [ebp - 0x34]
mov ecx, esp
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xba0]
mov dword [ecx], eax
mov dword [ecx + 0xc], 0
call fcn.00406c90
mov ecx, dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
call ecx
sub esp, 0x10
inc eax
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov eax, 1
mov eax, esp
mov ecx, dword [ebp - 0xb9c]
call fcn.00406ca0
call fcn.00406cb0
call fcn.00462810
mov edx, esi
mov ecx, esp
mov edx, dword [ebp - 0xb9c]
mov dword [ecx], edx
call fcn.00406cc0
call fcn.004014f0
mov dword [ebp - 0xb60], eax
mov eax, esp
call fcn.00406cd0
call fcn.004336b0
mov dword [ebp - 0xba8], edx
call fcn.00406ce0
call fcn.0046afd0
call fcn.00406cf0
imul ecx, eax
mov dword [esp], ecx
call fcn.0041ba23
mov dword [ebp - 0xb88], 0xdba981ff
mov eax, dword [ebp - 0xb88]
mov ecx, eax
sub ecx, 0xc8644c9b
mov dword [ebp - 0xbb0], eax
mov dword [ebp - 0xbb4], ecx
jg 0x405a60
jmp 0x405a44
mov eax, dword [ebp - 0xbb0]
sub eax, 0x8e594442
mov dword [ebp - 0xbb8], eax
je 0x405ef7
jmp 0x405bcb
mov eax, dword [ebp - 0xbb0]
sub eax, 0x50d58478
mov dword [ebp - 0xbbc], eax
jg 0x405baf
jmp 0x405a7c
call fcn.00406d00
sub eax, 0xdba981fe
mov dword [ebp - 0xbc0], eax
jg 0x405ab3
jmp 0x405a97
mov eax, dword [ebp - 0xbb0]
sub eax, 0xc8644c9c
mov dword [ebp - 0xbc4], eax
je 0x405eba
jmp 0x405bcb
mov eax, dword [ebp - 0xbb0]
sub eax, 0xc68000c
call fcn.00406d10
jg 0x405aea
jmp 0x405ace
call fcn.00406d20
add eax, 0x24567e01
mov dword [ebp - 0xbcc], eax
je 0x405bd0
jmp 0x405bcb
mov eax, dword [ebp - 0xbb0]
sub eax, 0x268cc5af
mov dword [ebp - 0xbd0], eax
jg 0x405b21
jmp 0x405b06
call fcn.00406d30
sub eax, 0xc68000d
mov dword [ebp - 0xbd4], eax
je 0x406b4a
jmp 0x405bcb
mov eax, dword [ebp - 0xbb0]
add eax, 0xcf68196b
mov dword [ebp - 0xbd8], eax
jg 0x405b5a
jmp 0x405b3e
mov eax, dword [ebp - 0xbb0]
add eax, 0xd9733a50
call fcn.00406d40
je 0x405eda
jmp 0x405bcb
mov eax, dword [ebp - 0xbb0]
add eax, 0xcf68196a
mov dword [ebp - 0xbe0], eax
je 0x405d2f
jmp 0x405b77
mov eax, dword [ebp - 0xbb0]
sub eax, 0x35f1fb00
mov dword [ebp - 0xbe4], eax
je 0x405eaa
jmp 0x405b93
mov eax, dword [ebp - 0xbb0]
sub eax, 0x36894e4d
mov dword [ebp - 0xbe8], eax
je 0x405d7e
jmp 0x405bcb
mov eax, dword [ebp - 0xbb0]
sub eax, 0x50d58479
mov dword [ebp - 0xbec], eax
je 0x405d6f
jmp 0x405bcb
jmp 0x406b54
mov eax, 0
mov ecx, 4
mov edx, dword [ebp - 0x2c]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 4
mov dword [ebp - 0xbf0], eax
mov dword [ebp - 0xbf4], ecx
call fcn.00430650
mov ecx, 0
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x24]
mov dword [esp], esi
mov dword [esp + 4], 0
mov dword [esp + 8], edx
call fcn.00406d50
call fcn.00406d60
call fcn.00430650
mov ecx, dword [ebp - 0x28]
add ecx, 0xffffffff
call fcn.00406d70
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [ebp - 0xc00], eax
call fcn.00462c00
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.004014f0
mov ecx, 0x104
lea edx, [ebp - 0x488]
call fcn.00406d80
call fcn.00406d90
mov esi, dword [ebp - 0x24]
mov dword [esp], esi
mov dword [esp + 4], 0x104
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [ebp - 0xc04], ecx
call fcn.0045dc10
mov ecx, 0x104
call fcn.00406da0
mov esi, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0xb60]
mov edi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0xb60]
shl ebx, 1
add edi, ebx
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [ebp - 0xc08], eax
call fcn.0045dc10
lea ecx, str..exe
mov edx, 4
mov esi, 0x104
sub esi, dword [ebp - 0xb60]
sub esi, dword [ebp - 0xb64]
call fcn.00406db0
call fcn.00406dc0
shl ebx, 1
add edi, ebx
mov ebx, dword [ebp - 0xb64]
shl ebx, 1
add edi, ebx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 4
call fcn.00406dd0
mov dword [ebp - 0xc10], edx
call fcn.0045dc10
call fcn.00406de0
mov dword [ebp - 0xc14], eax
jmp 0x406b54
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x34]
mov edx, 0x100
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
mov dword [edx + 8], 1
mov eax, dword [sym.imp.KERNEL32.dll_CopyFileW]
call eax
sub esp, 0xc
mov ecx, 0x50d58479
mov edx, 0xdba981ff
cmp eax, 0
cmove ecx, edx
mov dword [ebp - 0xb88], ecx
jmp 0x406b54
mov dword [ebp - 0xb88], 0x36894e4d
jmp 0x406b54
mov eax, 0
mov ecx, 0x20a
lea edx, [ebp - 0x27e]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x20a
mov dword [ebp - 0xc18], eax
call fcn.00406df0
call fcn.00430650
mov ecx, 0
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
mov dword [esp], esi
mov dword [esp + 4], 0
mov dword [esp + 8], edx
call fcn.00406e00
mov dword [ebp - 0xc24], ecx
call fcn.00430650
mov ecx, 0x104
lea edx, [ebp - 0x27e]
mov dword [esp], edx
mov dword [esp + 4], 0x104
mov dword [ebp - 0xc28], eax
mov dword [ebp - 0xc2c], ecx
call fcn.00462c00
mov eax, 0x104
lea ecx, [ebp - 0x488]
call fcn.00406e10
mov esi, dword [ebp - 0x1c]
mov dword [esp], esi
mov dword [esp + 4], 0x104
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [ebp - 0xc30], eax
call fcn.0045dc10
lea ecx, [ebp - 0x27e]
mov dword [esp], ecx
mov dword [ebp - 0xc34], eax
call fcn.004014f0
mov ecx, 0x104
lea edx, [ebp - 0x27e]
sub ecx, dword [ebp - 0xb60]
call fcn.00406e20
mov edi, dword [ebp - 0xb60]
shl edi, 1
add esi, edi
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.0045dc10
call fcn.00406e30
call fcn.00406e40
mov esi, esp
mov dword [esi], edx
mov dword [esi + 4], 0
call fcn.00406e50
call ecx
sub esp, 8
call fcn.00406e60
call fcn.00406e70
jmp 0x406b54
mov eax, 0xc8644c9c
mov dword [ebp - 0xb88], eax
jmp 0x406b54
mov eax, 0x268cc5b0
cmp dword [ebp - 0x38], 0
sete cl
and cl, 1
mov byte [ebp - 0xd], cl
mov dword [ebp - 0xb88], eax
jmp 0x406b54
mov eax, 0x8e594442
mov ecx, 0x36894e4d
mov dl, byte [ebp - 0xd]
test dl, 1
cmovne eax, ecx
call fcn.00406e80
jmp 0x406b54
mov eax, dword [0x50dd8c]
mov ecx, dword [0x50daec]
mov edx, dword [0x50db14]
mov esi, dword [ebp - 0x38]
mov edi, esp
lea ebx, [ebp - 0x3c]
mov dword [edi + 0x14], ebx
mov dword [edi + 8], ecx
mov dword [edi + 4], edx
mov dword [edi], esi
mov dword [edi + 0x10], 1
mov dword [edi + 0xc], 1
call eax
sub esp, 0x18
mov ecx, dword [0x50dd8c]
mov edx, dword [0x50dafc]
mov esi, dword [0x50db14]
mov edi, dword [ebp - 0x38]
mov ebx, esp
mov dword [ebp - 0xc3c], eax
lea eax, [ebp - 0x40]
mov dword [ebx + 0x14], eax
call fcn.00406e90
mov dword [ebx + 4], esi
mov dword [ebx], edi
mov dword [ebx + 0x10], 0
mov dword [ebx + 0xc], 0
call ecx
sub esp, 0x18
mov ecx, dword [0x50dd8c]
mov edx, dword [0x50db00]
mov esi, dword [0x50db14]
call fcn.00406ea0
mov ebx, eax
mov ebx, esp
call fcn.00406eb0
lea eax, [ebp - 0x44]
mov dword [ebx + 0x14], eax
mov dword [ebx + 8], edx
mov dword [ebx + 4], esi
call fcn.00406ec0
call fcn.00406ed0
mov dword [ebx + 0xc], 0
call ecx
sub esp, 0x18
call fcn.00406ee0
mov edx, dword [0x50daec]
mov esi, dword [0x50db10]
mov edi, dword [ebp - 0x38]
mov ebx, esp
call fcn.00406ef0
lea eax, [ebp - 0x48]
mov dword [ebx + 0x14], eax
mov dword [ebx + 8], edx
call fcn.00406f00
mov dword [ebx], edi
call fcn.00406f10
mov dword [ebx + 0xc], 0
call ecx
sub esp, 0x18
mov ecx, dword [0x50dd8c]
mov edx, dword [0x50dae0]
call fcn.00406f20
call fcn.00406f30
mov ebx, esp
call fcn.00406f40
lea eax, [ebp - 0x4c]
mov dword [ebx + 0x14], eax
call fcn.00406f50
mov dword [ebx + 4], esi
mov dword [ebx], edi
mov dword [ebx + 0x10], 0
mov dword [ebx + 0xc], 0
call ecx
sub esp, 0x18
mov ecx, dword [0x50dd8c]
mov edx, dword [0x50daec]
call fcn.00406f60
mov edi, dword [ebp - 0x38]
mov ebx, esp
call fcn.00406f70
lea eax, [ebp - 0x50]
call fcn.00406f80
mov dword [ebx + 8], edx
call fcn.00406f90
call fcn.00406fa0
mov dword [ebx + 0x10], 1
mov dword [ebx + 0xc], 0
call ecx
sub esp, 0x18
mov ecx, dword [0x50dd8c]
mov edx, dword [0x50db30]
mov esi, dword [0x50db28]
call fcn.00406fb0
mov ebx, esp
mov dword [ebp - 0xc50], eax
lea eax, [ebp - 0x54]
mov dword [ebx + 0x14], eax
mov dword [ebx + 8], edx
call fcn.00406fc0
mov dword [ebx], edi
mov dword [ebx + 0x10], 0
call fcn.00406fd0
call ecx
sub esp, 0x18
mov ecx, dword [0x50dd8c]
mov edx, dword [0x50db2c]
mov esi, dword [0x50db28]
mov edi, dword [ebp - 0x38]
mov ebx, esp
mov dword [ebp - 0xc54], eax
lea eax, [ebp - 0x58]
call fcn.00406fe0
call fcn.00406ff0
mov dword [ebx + 4], esi
mov dword [ebx], edi
mov dword [ebx + 0x10], 1
mov dword [ebx + 0xc], 0
call ecx
sub esp, 0x18
mov ecx, dword [0x50dd8c]
call fcn.00407000
mov esi, dword [0x50db14]
call fcn.00407010
mov ebx, eax
mov ebx, esp
call fcn.00407020
lea eax, [ebp - 0x5c]
mov dword [ebx + 0x14], eax
mov dword [ebx + 8], edx
mov dword [ebx + 4], esi
mov dword [ebx], edi
call fcn.00407030
call fcn.00407040
call ecx
sub esp, 0x18
mov ecx, dword [0x50dd88]
mov edx, dword [ebp - 0x38]
mov esi, esp
mov dword [esi], edx
call fcn.00407050
call ecx
sub esp, 4
mov dword [ebp - 0xc60], eax
call fcn.00426cb0
mov dword [ebp - 0xc64], eax
call fcn.0041ba00
and eax, 0xf
mov ecx, esp
lea edx, [ebp - 0x6f6]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov dword [ecx + 8], 0xa
call fcn.00407060
call fcn.0041ba33
mov edx, ecx
mov ecx, esp
call fcn.00407070
mov dword [ecx], edx
call fcn.00407080
call fcn.004014f0
mov dword [ebp - 0xb58], eax
mov ecx, eax
inc ecx
mov dword [ebp - 0xb58], ecx
mov word [ebp + eax*2 - 0x6f6], 0x2e
mov eax, dword [ebp - 0xb58]
lea eax, [ebp + eax*2 - 0x6f6]
mov dword [ebp - 0xc70], eax
call fcn.0041ba00
and eax, 1
mov ecx, esp
call fcn.00407090
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov dword [ecx + 8], 0xa
call fcn.0041ba33
mov ecx, esp
mov edx, dword [ebp - 0xc68]
mov dword [ecx], edx
mov dword [ebp - 0xc74], eax
call fcn.004014f0
mov dword [ebp - 0xb58], eax
mov ecx, 0x100
mov ecx, eax
inc ecx
mov dword [ebp - 0xb58], ecx
mov word [ebp + eax*2 - 0x6f6], 0x2e
call fcn.004070a0
lea eax, [ebp + eax*2 - 0x6f6]
mov dword [ebp - 0xc78], eax
call fcn.0041ba00
and eax, 5
mov ecx, esp
mov edx, dword [ebp - 0xc78]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov dword [ecx + 8], 0xa
call fcn.0041ba33
mov edx, ebx
mov ecx, esp
mov edx, dword [ebp - 0xc68]
mov dword [ecx], edx
call fcn.004070b0
call fcn.004014f0
mov dword [ebp - 0xb58], eax
mov ecx, eax
inc ecx
mov dword [ebp - 0xb58], ecx
mov word [ebp + eax*2 - 0x6f6], 0x2e
call fcn.004070c0
lea eax, [ebp + eax*2 - 0x6f6]
mov dword [ebp - 0xc80], eax
call fcn.0041ba00
and eax, 0xc
mov edx, ebx
mov ecx, esp
mov edx, dword [ebp - 0xc80]
call fcn.004070d0
mov dword [ecx], eax
mov dword [ecx + 8], 0xa
call fcn.0041ba33
mov edx, 0
mov ecx, esp
call fcn.004070e0
call fcn.004070f0
call fcn.00407100
call fcn.004014f0
mov dword [ebp - 0xb58], eax
mov eax, dword [0x4ff4d0]
movzx eax, byte [eax]
call fcn.00407110
mov ecx, dword [0x4ff4d0]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0xb6c], eax
mov ecx, dword [0x4ff4d0]
call fcn.00407120
lea esi, [ecx + edx + 2]
inc ecx
mov edi, esp
mov dword [edi + 0x10], eax
mov dword [edi + 0xc], esi
mov dword [edi + 8], ecx
call fcn.00407130
lea eax, [ebp - 0xb44]
mov dword [edi], eax
call fcn.0045d4f0
call fcn.00407140
mov ecx, dword [0x50db08]
mov edx, dword [ebp - 0x38]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
call eax
sub esp, 8
mov dword [ebp - 0x60], eax
mov eax, dword [0x50dd7c]
xor ecx, ecx
mov edx, dword [0x50db38]
call fcn.00407150
mov edi, dword [ebp - 0x38]
mov ebx, esp
mov dword [ebx + 0xc], ecx
mov dword [ebx + 8], edx
mov dword [ebx + 4], esi
call fcn.00407160
call eax
sub esp, 0x10
lea ecx, [ebp - 0x6f6]
call fcn.00407170
mov esi, dword [0x50db04]
call fcn.00407180
mov ebx, esp
mov dword [ebx + 8], ecx
mov dword [ebx + 4], esi
call fcn.00407190
call fcn.004071a0
call edx
sub esp, 0xc
lea ecx, [ebp - 0x27e]
mov edx, dword [0x50dd78]
mov esi, dword [0x50daec]
call fcn.004071b0
mov ebx, esp
mov dword [ebx + 8], ecx
call fcn.004071c0
mov dword [ebx], edi
mov dword [ebp - 0xc8c], eax
call edx
sub esp, 0xc
mov ecx, dword [0x50dd74]
call fcn.004071d0
mov esi, dword [ebp - 0x38]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
mov dword [edi + 8], 1
mov dword [ebp - 0xc90], eax
call ecx
sub esp, 0xc
lea ecx, [ebp - 0xb44]
mov edx, dword [0x50dd70]
mov esi, dword [0x50db34]
mov edi, dword [ebp - 0x38]
mov ebx, 0x200
mov ebx, esp
mov dword [ebx + 8], ecx
mov dword [ebx + 4], esi
call fcn.004071e0
mov dword [ebx + 0xc], 0x10
call fcn.004071f0
call edx
sub esp, 0x10
call fcn.00407200
mov edx, dword [0x50db0c]
mov esi, dword [ebp - 0x38]
mov edi, esp
call fcn.00407210
call fcn.00407220
call fcn.00407230
call ecx
sub esp, 8
mov dword [ebp - 0x64], eax
mov eax, dword [0x50dd6c]
mov ecx, dword [ebp - 0x48]
call fcn.00407240
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
call eax
sub esp, 8
call fcn.00407250
mov edx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x38]
mov edi, esp
mov dword [edi + 4], edx
call fcn.00407260
mov dword [ebp - 0xc9c], eax
call ecx
sub esp, 8
mov ecx, dword [0x50dd6c]
mov edx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x38]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
mov dword [ebp - 0xca0], eax
call ecx
sub esp, 8
mov ecx, dword [0x50dd68]
call fcn.00407270
mov esi, dword [ebp - 0x38]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
mov dword [ebp - 0xca4], eax
call ecx
sub esp, 8
mov ecx, dword [0x50dd80]
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x38]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
mov dword [ebp - 0xca8], eax
call ecx
sub esp, 8
call fcn.00407280
mov edx, dword [ebp - 0x40]
call fcn.00407290
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
mov dword [ebp - 0xcac], eax
call ecx
sub esp, 8
mov ecx, dword [0x50dd68]
mov edx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x38]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
mov dword [ebp - 0xcb0], eax
call ecx
sub esp, 8
mov ecx, dword [0x50dd6c]
call fcn.004072a0
mov esi, dword [ebp - 0x38]
mov edi, esp
call fcn.004072b0
mov dword [edi], esi
mov dword [ebp - 0xcb4], eax
call ecx
sub esp, 8
mov ecx, dword [0x50dd68]
call fcn.004072c0
call fcn.004072d0
mov edi, esp
mov dword [edi + 4], edx
call fcn.004072e0
mov dword [ebp - 0xcb8], eax
call ecx
sub esp, 8
mov ecx, dword [0x50dd6c]
call fcn.004072f0
mov esi, dword [ebp - 0x38]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
mov dword [ebp - 0xcbc], eax
call ecx
sub esp, 8
call fcn.00407300
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x38]
mov edi, esp
mov dword [edi + 4], edx
call fcn.00407310
mov dword [ebp - 0xcc0], eax
call ecx
sub esp, 8
mov dword [ebp - 0xcc4], eax
call fcn.0041ba00
lea ecx, [ebp - 0xb0a]
mov edx, 5
xor esi, esi
call fcn.00407320
mov edx, esi
mov esi, dword [ebp - 0xcc8]
div esi
mov eax, dword [edx*4 + 0x4ff4d4]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
movzx eax, word [eax]
mov dword [ebp - 0xb5c], eax
call fcn.00407330
movzx eax, word [eax]
mov dword [ebp - 0xb70], eax
mov eax, dword [ebp - 0xb70]
mov edx, dword [ebp - 0x74]
movzx eax, word [edx + eax*2 + 2]
call fcn.00407340
call fcn.00407350
call fcn.00407360
mov edi, dword [ebp - 0xb70]
shl edi, 1
add edx, edi
sub edx, 0xfffffffc
mov edi, dword [ebp - 0x74]
sub edi, 0xfffffffe
mov ebx, dword [ebp - 0xb70]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.00462060
mov eax, 0x104
lea ecx, [ebp - 0xb0a]
mov edx, dword [ebp - 0xb5c]
mov esi, dword [ebp - 0x14]
mov dword [esp], esi
mov dword [esp + 4], 0x104
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [ebp - 0xccc], eax
call fcn.0045dc10
lea ecx, str..exe
mov edx, 4
mov esi, 0x104
sub esi, dword [ebp - 0xb5c]
call fcn.00407370
call fcn.00407380
shl ebx, 1
add edi, ebx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 4
mov dword [ebp - 0xcd0], eax
call fcn.00407390
call fcn.0045dc10
mov ecx, 0x104
lea edx, [ebp - 0x900]
lea esi, [ebp - 0xb0a]
mov edi, dword [ebp - 0xb5c]
mov dword [esp], edx
mov dword [esp + 4], 0x104
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [ebp - 0xcd8], eax
call fcn.004073a0
call fcn.0045dc10
lea ecx, str.32.exe
mov edx, 6
lea esi, [ebp - 0x900]
mov edi, 0x104
sub edi, dword [ebp - 0xb5c]
mov ebx, dword [ebp - 0xb5c]
shl ebx, 1
add esi, ebx
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 6
call fcn.004073b0
call fcn.004073c0
call fcn.0045dc10
lea ecx, [ebp - 0xb54]
call fcn.004073d0
movzx edx, byte [edx]
mov dword [ebp - 0xb78], edx
mov edx, dword [ebp - 0xb78]
mov esi, dword [0x4ff4e8]
movzx edx, byte [esi + edx + 1]
mov dword [ebp - 0xb7c], edx
mov edx, dword [ebp - 0xb7c]
mov esi, dword [0x4ff4e8]
add esi, dword [ebp - 0xb78]
add esi, 2
mov edi, dword [0x4ff4e8]
add edi, 1
mov ebx, dword [ebp - 0xb78]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
mov dword [ebp - 0xce8], eax
call fcn.0045d4f0
mov eax, dword [0x50dd84]
call fcn.004073e0
call fcn.004073f0
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
call eax
sub esp, 8
mov dword [ebp - 0x68], eax
mov eax, dword [0x50dd78]
mov ecx, dword [ebp - 0x14]
mov edx, dword [0x50daec]
mov esi, dword [ebp - 0x38]
mov edi, esp
mov dword [edi + 8], ecx
call fcn.00407400
mov dword [edi], esi
call eax
sub esp, 0xc
lea ecx, [ebp - 0x900]
mov edx, dword [0x50dd78]
call fcn.00407410
mov edi, dword [ebp - 0x38]
mov ebx, edx
mov ebx, esp
call fcn.00407420
call fcn.00407430
mov dword [ebx], edi
mov dword [ebp - 0xcec], eax
call edx
sub esp, 0xc
mov ecx, dword [0x50dd78]
mov edx, dword [0x50daf0]
mov esi, dword [ebp - 0x38]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
mov dword [edi + 8], str.Microsoft
mov dword [ebp - 0xcf0], eax
call ecx
sub esp, 0xc
lea ecx, [ebp - 0xb54]
mov edx, dword [0x50dd70]
call fcn.00407440
mov edi, dword [ebp - 0x38]
mov ebx, esp
mov dword [ebx + 8], ecx
call fcn.00407450
call fcn.00407460
call fcn.00407470
mov dword [ebp - 0xcf4], eax
call edx
sub esp, 0x10
call fcn.00407480
mov edx, dword [0x50db18]
mov esi, dword [ebp - 0x38]
mov edi, esp
mov dword [edi + 4], edx
call fcn.00407490
mov dword [ebp - 0xcf8], eax
call ecx
sub esp, 8
mov dword [ebp - 0x6c], eax
mov eax, dword [0x50dd78]
mov ecx, dword [0x50daec]
mov edx, dword [ebp - 0x38]
mov esi, esp
mov dword [esi + 4], ecx
call fcn.004074a0
mov dword [esi + 8], 0x513d10
call eax
sub esp, 0xc
mov ecx, dword [0x50dd80]
mov edx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x38]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
mov dword [ebp - 0xcfc], eax
call ecx
sub esp, 8
lea ecx, [ebp - 0xb34]
mov edx, dword [0x4ff4ec]
movzx edx, word [edx]
mov dword [ebp - 0xb80], edx
mov edx, dword [ebp - 0xb80]
call fcn.004074b0
movzx edx, word [esi + edx*2 + 2]
mov dword [ebp - 0xb84], edx
call fcn.004074c0
mov esi, dword [0x4ff4ec]
mov edi, dword [ebp - 0xb80]
shl edi, 1
add esi, edi
add esi, 4
mov edi, dword [0x4ff4ec]
add edi, 2
mov ebx, dword [ebp - 0xb80]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
mov dword [ebp - 0xd00], eax
call fcn.00462060
mov eax, dword [0x50dd84]
mov ecx, dword [0x50db1c]
call fcn.004074d0
mov esi, esp
mov dword [esi + 4], ecx
call fcn.004074e0
call eax
sub esp, 8
lea ecx, [ebp - 0xb34]
call fcn.004074f0
mov eax, dword [0x50dd78]
call fcn.00407500
call fcn.00407510
mov edi, esp
call fcn.00407520
mov dword [edi + 4], edx
mov dword [edi], esi
call eax
sub esp, 0xc
mov ecx, dword [0x50dd78]
mov edx, dword [ebp - 0x24]
mov esi, dword [0x50daf8]
mov edi, dword [ebp - 0x38]
mov ebx, esp
mov dword [ebx + 8], edx
call fcn.00407530
mov dword [ebx], edi
mov dword [ebp - 0xd04], eax
call ecx
sub esp, 0xc
mov ecx, dword [0x50dd80]
mov edx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x38]
mov edi, esp
call fcn.00407540
mov dword [edi], esi
mov dword [ebp - 0xd08], eax
call ecx
sub esp, 8
mov ecx, dword [0x50dd80]
mov edx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x38]
mov edi, esp
call fcn.00407550
call fcn.00407560
call fcn.00407570
call ecx
sub esp, 8
mov ecx, dword [0x50dd68]
call fcn.00407580
mov esi, dword [ebp - 0x38]
mov edi, esp
call fcn.00407590
mov dword [edi], esi
mov dword [ebp - 0xd10], eax
call ecx
sub esp, 8
mov ecx, dword [0x50dd68]
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
mov dword [ebp - 0xd14], eax
call ecx
sub esp, 8
mov ecx, dword [0x50dd6c]
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x38]
mov edi, esp
call fcn.004075a0
call fcn.004075b0
mov dword [ebp - 0xd18], eax
call ecx
sub esp, 8
mov ecx, dword [0x50dd6c]
mov edx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x38]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
mov dword [ebp - 0xd1c], eax
call ecx
sub esp, 8
mov ecx, dword [0x50dd68]
mov edx, dword [ebp - 0x58]
call fcn.004075c0
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
call fcn.004075d0
call ecx
sub esp, 8
mov ecx, dword [0x50dd68]
call fcn.004075e0
call fcn.004075f0
mov edi, esp
call fcn.00407600
call fcn.00407610
mov dword [ebp - 0xd24], eax
call ecx
sub esp, 8
mov ecx, dword [0x50dd6c]
call fcn.00407620
call fcn.00407630
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
mov dword [ebp - 0xd28], eax
call ecx
sub esp, 8
mov ecx, dword [0x50dd68]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x38]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
mov dword [ebp - 0xd2c], eax
call ecx
sub esp, 8
mov ecx, dword [0x50dd80]
call fcn.00407640
mov esi, dword [ebp - 0x38]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
mov dword [ebp - 0xd30], eax
call ecx
sub esp, 8
mov ecx, dword [0x50dd90]
mov edx, dword [ebp - 0x38]
mov esi, esp
mov dword [esi], edx
mov dword [ebp - 0xd34], eax
call ecx
sub esp, 0xfffff2c4
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0xb88], 0xc8644c9c
jmp 0x405a1f