Function at 0x47c9d4
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x1aa
push 0
push 0
dec ecx
jne 0x47c9dc
push ebx
push esi
push edi
mov dword [ebp - 8], eax
lea eax, [ebp - 0x44]
mov edx, dword [0x47c954]
call fcn.00405138
xor eax, eax
push ebp
push 0x47ee68
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [0x48ccc3], 0
mov byte [0x48ccc2], 0
lea edx, [ebp - 0xae8]
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x36c]
mov eax, ebx
call fcn.0044c25c
mov eax, dword [ebp - 0xae8]
lea edx, [ebp - 0xae4]
call fcn.00408b60
mov eax, dword [ebp - 0xae4]
lea edx, [ebp - 0xae0]
call fcn.0040d6f8
mov edx, dword [ebp - 0xae0]
mov eax, ebx
call fcn.0044c28c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x380]
xor edx, edx
call fcn.004365a4
push 0x47ee84
lea eax, [ebp - 0xaec]
push eax
mov ecx, 0x47eea0
mov edx, 0x47eeac
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0xaec]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x37c]
call fcn.0044c28c
xor eax, eax
mov dword [0x48ccfc], eax
xor eax, eax
mov dword [0x48cd00], eax
xor eax, eax
mov dword [0x48cd04], eax
xor eax, eax
mov dword [0x48cd08], eax
xor eax, eax
mov dword [0x48cd0c], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x36c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
jne 0x47cc5b
lea edx, [ebp - 0xaf0]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x36c]
call fcn.0044c25c
lea eax, [ebp - 0xaf0]
mov edx, 0x47eebc
call fcn.00404a68
mov eax, dword [ebp - 0xaf0]
call fcn.004092d0
test al, al
je 0x47cc5b
push 0
lea eax, [ebp - 0xaf4]
mov ecx, 0x47eed4
mov edx, dword [0x48ccc8]
call fcn.00404aac
mov eax, dword [ebp - 0xaf4]
call fcn.00404c60
push eax
lea edx, [ebp - 0xaf8]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x36c]
call fcn.0044c25c
lea eax, [ebp - 0xaf8]
mov edx, 0x47eebc
call fcn.00404a68
mov eax, dword [ebp - 0xaf8]
call fcn.00404c60
push eax
call sub.kernel32.dll_CopyFileA
test eax, eax
je 0x47cc88
mov eax, dword [0x48bc54]
mov eax, dword [eax]
call fcn.0046bc00
lea eax, [ebp - 0xafc]
mov ecx, 0x47eed4
mov edx, dword [0x48ccc8]
call fcn.00404aac
mov ecx, dword [ebp - 0xafc]
mov dl, 1
mov eax, dword [0x432e24]
call fcn.00432ed4
mov dword [0x48ccb4], eax
mov ecx, dword [0x48cce4]
mov edx, 0x47eef0
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 0x40]
mov eax, dword [0x48cce4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov dword [0x48ccfc], eax
mov ecx, dword [0x48cce4]
mov edx, 0x47ef00
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 0x40]
mov eax, dword [0x48cce4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov dword [0x48cd00], eax
mov ecx, dword [0x48cce4]
mov edx, 0x47ef10
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 0x40]
mov eax, dword [0x48cce4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov dword [0x48cd04], eax
mov ecx, dword [0x48cce4]
mov edx, 0x47ef28
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 0x40]
mov eax, dword [0x48cce4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov dword [0x48cd08], eax
mov ecx, dword [0x48cce4]
mov edx, 0x47ef40
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 0x40]
mov eax, dword [0x48cce4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov dword [0x48cd0c], eax
jmp 0x47cc88
lea eax, [ebp - 0xb00]
mov ecx, 0x47eed4
mov edx, dword [0x48ccc8]
call fcn.00404aac
mov ecx, dword [ebp - 0xb00]
mov dl, 1
mov eax, dword [0x432e24]
call fcn.00432ed4
mov dword [0x48ccb4], eax
push 0
lea eax, [ebp - 0xb08]
push eax
mov ecx, 0x47ef54
mov edx, 0x47ef60
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xb08]
lea edx, [ebp - 0xb04]
call fcn.004761b4
mov eax, dword [ebp - 0xb04]
push eax
mov ecx, 0x47ef54
mov edx, 0x47ef74
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
lea eax, [ebp - 0xc]
call fcn.004047a0
push 0
lea eax, [ebp - 0xb14]
push eax
mov ecx, 0x47ef88
mov edx, 0x47ef60
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xb14]
lea edx, [ebp - 0xb10]
call fcn.004761b4
mov ecx, dword [ebp - 0xb10]
lea eax, [ebp - 0xb0c]
mov edx, dword [ebp - 0xc]
call fcn.00404aac
mov eax, dword [ebp - 0xb0c]
push eax
mov ecx, 0x47ef88
mov edx, 0x47ef74
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
lea eax, [ebp - 0xb1c]
push eax
mov ecx, 0x47eea0
mov edx, 0x47ef60
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xb1c]
lea edx, [ebp - 0xb18]
call fcn.004761b4
mov eax, dword [ebp - 0xb18]
push eax
mov ecx, 0x47eea0
mov edx, 0x47ef74
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
lea eax, [ebp - 0xb24]
push eax
mov ecx, 0x47ef94
mov edx, 0x47ef60
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xb24]
lea edx, [ebp - 0xb20]
call fcn.004761b4
mov eax, dword [ebp - 0xb20]
push eax
mov ecx, 0x47ef94
mov edx, 0x47ef74
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
lea eax, [ebp - 0xb2c]
push eax
mov ecx, 0x47efa0
mov edx, 0x47ef60
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xb2c]
lea edx, [ebp - 0xb28]
call fcn.004761b4
mov eax, dword [ebp - 0xb28]
push eax
mov ecx, 0x47efa0
mov edx, 0x47ef74
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
lea eax, [ebp - 0xb34]
push eax
mov ecx, 0x47efac
mov edx, 0x47ef60
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xb34]
lea edx, [ebp - 0xb30]
call fcn.004761b4
mov eax, dword [ebp - 0xb30]
push eax
mov ecx, 0x47efac
mov edx, 0x47ef74
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
lea eax, [ebp - 0xb3c]
push eax
mov ecx, 0x47efb8
mov edx, 0x47ef60
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xb3c]
lea edx, [ebp - 0xb38]
call fcn.004761b4
mov eax, dword [ebp - 0xb38]
push eax
mov ecx, 0x47efb8
mov edx, 0x47ef74
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
lea eax, [ebp - 0xb44]
push eax
mov ecx, 0x47ef54
mov edx, 0x47efc4
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xb44]
lea edx, [ebp - 0xb40]
call fcn.004761b4
mov eax, dword [ebp - 0xb40]
push eax
mov ecx, 0x47ef54
mov edx, 0x47efc4
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
lea eax, [ebp - 0xb4c]
push eax
mov ecx, 0x47ef88
mov edx, 0x47efc4
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xb4c]
lea edx, [ebp - 0xb48]
call fcn.004761b4
mov eax, dword [ebp - 0xb48]
push eax
mov ecx, 0x47ef88
mov edx, 0x47efc4
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
lea eax, [ebp - 0xb54]
push eax
mov ecx, 0x47eea0
mov edx, 0x47efc4
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xb54]
lea edx, [ebp - 0xb50]
call fcn.004761b4
mov eax, dword [ebp - 0xb50]
push eax
mov ecx, 0x47eea0
mov edx, 0x47efc4
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
lea eax, [ebp - 0xb5c]
push eax
mov ecx, 0x47ef94
mov edx, 0x47efc4
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xb5c]
lea edx, [ebp - 0xb58]
call fcn.004761b4
mov eax, dword [ebp - 0xb58]
push eax
mov ecx, 0x47ef94
mov edx, 0x47efc4
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
lea eax, [ebp - 0xb64]
push eax
mov ecx, 0x47efa0
mov edx, 0x47efc4
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xb64]
lea edx, [ebp - 0xb60]
call fcn.004761b4
mov eax, dword [ebp - 0xb60]
push eax
mov ecx, 0x47efa0
mov edx, 0x47efc4
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
lea eax, [ebp - 0xb6c]
push eax
mov ecx, 0x47efac
mov edx, 0x47efc4
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xb6c]
lea edx, [ebp - 0xb68]
call fcn.004761b4
mov eax, dword [ebp - 0xb68]
push eax
mov ecx, 0x47efac
mov edx, 0x47efc4
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
lea eax, [ebp - 0xb74]
push eax
mov ecx, 0x47efb8
mov edx, 0x47efc4
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xb74]
lea edx, [ebp - 0xb70]
call fcn.004761b4
mov eax, dword [ebp - 0xb70]
push eax
mov ecx, 0x47efb8
mov edx, 0x47efc4
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
lea eax, [ebp - 0xb7c]
push eax
mov ecx, 0x47efd4
mov edx, 0x47efc4
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xb7c]
lea edx, [ebp - 0xb78]
call fcn.004761b4
mov eax, dword [ebp - 0xb78]
push eax
mov ecx, 0x47efd4
mov edx, 0x47efc4
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
lea eax, [ebp - 0xb84]
push eax
mov ecx, 0x47efe0
mov edx, 0x47efc4
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xb84]
lea edx, [ebp - 0xb80]
call fcn.004761b4
mov eax, dword [ebp - 0xb80]
push eax
mov ecx, 0x47efe0
mov edx, 0x47efc4
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
lea edx, [ebp - 0xb88]
mov al, 0x1c
call fcn.00474f08
mov eax, dword [ebp - 0xb88]
push eax
mov ecx, 0x47efec
mov edx, 0x47effc
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
lea edx, [ebp - 0xb8c]
mov al, 0x1d
call fcn.00474f08
mov eax, dword [ebp - 0xb8c]
push eax
mov ecx, 0x47f00c
mov edx, 0x47effc
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
lea edx, [ebp - 0xb90]
mov al, 0x37
call fcn.00474f08
mov eax, dword [ebp - 0xb90]
push eax
mov ecx, 0x47f020
mov edx, 0x47effc
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
push 1
mov ecx, 0x47f030
mov edx, 0x47f040
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x10]
push eax
mov ecx, 0x47f030
mov edx, 0x47effc
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 0x14]
mov al, byte [0x48ccc4]
push eax
mov ecx, 0x47f050
mov edx, 0x47effc
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 0x14]
push 0
lea eax, [ebp - 0xb94]
push eax
mov ecx, 0x47f05c
mov edx, 0x47f040
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx]
cmp dword [ebp - 0xb94], 0
je 0x47d24e
push 0
lea eax, [ebp - 0xb9c]
push eax
mov ecx, 0x47f05c
mov edx, 0x47f040
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xb9c]
lea edx, [ebp - 0xb98]
call fcn.004761b4
mov eax, dword [ebp - 0xb98]
push eax
mov ecx, 0x47f05c
mov edx, 0x47effc
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
lea edx, [ebp - 0xba0]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x36c]
call fcn.0044c25c
mov eax, dword [ebp - 0xba0]
push eax
mov ecx, 0x47f074
mov edx, 0x47effc
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
lea edx, [ebp - 0xba4]
mov al, 0x1a
call fcn.00474f08
mov eax, dword [ebp - 0xba4]
push eax
mov ecx, 0x47f088
mov edx, 0x47effc
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
cmp byte [0x48ccc1], 0
je 0x47d3ad
push 0
mov ecx, 0x47f0a0
mov edx, 0x47f040
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x10]
test al, al
je 0x47d316
push 0
lea eax, [ebp - 0xbac]
push eax
mov ecx, 0x47f0bc
mov edx, 0x47f040
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xbac]
lea edx, [ebp - 0xba8]
call fcn.004761b4
mov eax, dword [ebp - 0xba8]
push eax
mov ecx, 0x47f0bc
mov edx, 0x47effc
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
jmp 0x47d32c
push 0
mov ecx, 0x47f0bc
mov edx, 0x47effc
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
mov ecx, 0x47f0d4
mov edx, 0x47f040
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x10]
push eax
mov ecx, 0x47f0d4
mov edx, 0x47effc
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 0x14]
push 0
mov ecx, 0x47f0ec
mov edx, 0x47f040
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x10]
push eax
mov ecx, 0x47f0ec
mov edx, 0x47effc
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 0x14]
push 0
mov ecx, 0x47f108
mov edx, 0x47f040
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x10]
push eax
mov ecx, 0x47f120
mov edx, 0x47effc
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 0x14]
push 0
mov ecx, 0x47efc4
mov edx, 0x47f040
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x10]
test al, al
je 0x47d40f
push 0
lea eax, [ebp - 0xbb4]
push eax
mov ecx, 0x47f134
mov edx, 0x47f040
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xbb4]
lea edx, [ebp - 0xbb0]
call fcn.004761b4
mov eax, dword [ebp - 0xbb0]
push eax
mov ecx, 0x47f134
mov edx, 0x47effc
mov eax, dword [0x48ccb4]
mov ebx, dword [eax]
call dword [ebx + 4]
cmp byte [0x48ccc4], 0
je 0x47d480
xor eax, eax
push ebp
push 0x47d476
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [0x48cd18], eax
push 0x47f140
push 0x47f160
call sub.kernel32.dll_GetModuleHandleA_2
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x48cd10], eax
push 0x47f170
push 0x47f160
call sub.kernel32.dll_GetModuleHandleA_2
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x48cd14], eax
push 0x48cd18
call dword [0x48cd10]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47d480
mov eax, dword [0x48bc54]
mov eax, dword [eax]
call fcn.0046bc00
mov dl, 1
mov eax, dword [0x4163f0]
call fcn.00403a20
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
lea edx, [ebp - 0xbb8]
xor eax, eax
call fcn.00402aec
mov edx, dword [ebp - 0xbb8]
lea eax, [ebp - 0x190]
call fcn.00402e68
mov eax, dword [0x48bcf8]
mov byte [eax], 0
mov edx, 1
lea eax, [ebp - 0x190]
call fcn.004032f8
call fcn.00402894
push 0
mov ecx, 0x47f198
mov edx, 0x47f040
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
dec eax
test eax, eax
jl 0x47e3e3
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0
push 0
lea eax, [ebp - 0xbbc]
push eax
lea edx, [ebp - 0xbc0]
mov eax, dword [ebp - 0x10]
call fcn.00408dc8
mov ecx, dword [ebp - 0xbc0]
mov edx, 0x47eef0
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx]
cmp dword [ebp - 0xbbc], 0
je 0x47e3d7
mov al, byte [0x47f1a4]
push eax
lea eax, [ebp - 0xbc4]
push eax
push 0
lea eax, [ebp - 0xbc8]
push eax
lea edx, [ebp - 0xbcc]
mov eax, dword [ebp - 0x10]
call fcn.00408dc8
mov ecx, dword [ebp - 0xbcc]
mov edx, 0x47eef0
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xbc8]
mov ecx, 0x47f1b0
mov edx, 0x47f1bc
call fcn.0040ded4
mov edx, dword [ebp - 0xbc4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 4
jne 0x47ed3a
cmp byte [0x48ccec], 0
je 0x47d81c
cmp byte [0x48ccc7], 0
jne 0x47d81c
lea ecx, [ebp - 0xbd4]
xor edx, edx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xbd4]
lea edx, [ebp - 0xbd0]
call fcn.00408910
mov edx, dword [ebp - 0xbd0]
mov eax, 0x47f1c8
call fcn.00404da4
test eax, eax
jle 0x47d640
mov al, byte [0x47f1d8]
push eax
lea eax, [ebp - 0xbd8]
push eax
lea ecx, [ebp - 0xbdc]
xor edx, edx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xbdc]
mov ecx, 0x47f1e4
mov edx, 0x47f1f8
call fcn.0040ded4
mov ecx, dword [ebp - 0xbd8]
xor edx, edx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xbe4]
xor edx, edx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xbe4]
lea edx, [ebp - 0xbe0]
call fcn.00408910
mov edx, dword [ebp - 0xbe0]
mov eax, 0x47f210
call fcn.00404da4
test eax, eax
jle 0x47d6b7
mov al, byte [0x47f1d8]
push eax
lea eax, [ebp - 0xbe8]
push eax
lea ecx, [ebp - 0xbec]
xor edx, edx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xbec]
mov ecx, 0x47f228
mov edx, 0x47f240
call fcn.0040ded4
mov ecx, dword [ebp - 0xbe8]
xor edx, edx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xbf4]
xor edx, edx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xbf4]
lea edx, [ebp - 0xbf0]
call fcn.00408910
mov edx, dword [ebp - 0xbf0]
mov eax, 0x47f258
call fcn.00404da4
test eax, eax
jle 0x47d72e
mov al, byte [0x47f1d8]
push eax
lea eax, [ebp - 0xbf8]
push eax
lea ecx, [ebp - 0xbfc]
xor edx, edx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xbfc]
mov ecx, 0x47f274
mov edx, 0x47f28c
call fcn.0040ded4
mov ecx, dword [ebp - 0xbf8]
xor edx, edx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xc04]
xor edx, edx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc04]
lea edx, [ebp - 0xc00]
call fcn.00408910
mov edx, dword [ebp - 0xc00]
mov eax, 0x47f2a8
call fcn.00404da4
test eax, eax
jle 0x47d7a5
mov al, byte [0x47f1d8]
push eax
lea eax, [ebp - 0xc08]
push eax
lea ecx, [ebp - 0xc0c]
xor edx, edx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc0c]
mov ecx, 0x47f2c4
mov edx, 0x47f2dc
call fcn.0040ded4
mov ecx, dword [ebp - 0xc08]
xor edx, edx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x20]
lea ecx, [ebp - 0xc14]
xor edx, edx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc14]
lea edx, [ebp - 0xc10]
call fcn.00408910
mov edx, dword [ebp - 0xc10]
mov eax, 0x47f2f8
call fcn.00404da4
test eax, eax
jle 0x47d81c
mov al, byte [0x47f1d8]
push eax
lea eax, [ebp - 0xc18]
push eax
lea ecx, [ebp - 0xc1c]
xor edx, edx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc1c]
mov ecx, 0x47f310
mov edx, 0x47f324
call fcn.0040ded4
mov ecx, dword [ebp - 0xc18]
xor edx, edx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x20]
xor eax, eax
push ebp
push 0x47d901
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0xc24]
xor edx, edx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc24]
lea edx, [ebp - 0xc20]
call fcn.004761b4
mov edx, dword [ebp - 0xc20]
lea eax, [ebp - 0x44]
call fcn.00404838
lea ecx, [ebp - 0xc2c]
mov edx, 1
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc2c]
lea edx, [ebp - 0xc28]
call fcn.00408b60
mov eax, dword [ebp - 0xc28]
call fcn.00408f04
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0xc34]
mov edx, 2
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc34]
lea edx, [ebp - 0xc30]
call fcn.00408910
mov edx, dword [ebp - 0xc30]
lea eax, [ebp - 0x40]
call fcn.00404838
lea ecx, [ebp - 0xc3c]
mov edx, 3
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc3c]
lea edx, [ebp - 0xc38]
call fcn.00408910
mov eax, dword [ebp - 0xc38]
mov edx, 0x47f33c
call fcn.00404bac
sete al
mov byte [ebp - 0x38], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47d942
lea edx, [ebp - 0xc40]
mov eax, dword [ebp - 0x44]
call fcn.00476864
mov edx, dword [ebp - 0xc40]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x378]
call fcn.0044c28c
mov eax, dword [ebp - 0x44]
call fcn.004092d0
test al, al
je 0x47db22
cmp byte [0x48ccc5], 0
je 0x47d999
mov eax, dword [ebp - 0x40]
mov edx, 0x47f368
call fcn.00404bac
jne 0x47d999
lea eax, [ebp - 0x40]
mov edx, 0x47f374
call fcn.00404838
cmp dword [ebp - 0x2c], 0
jne case.0x47da05.0
mov eax, dword [ebp - 0x40]
mov edx, 0x47f368
call fcn.00404bac
jne case.0x47da05.0
push 0
push 0
lea eax, [ebp - 0xc48]
push eax
mov ecx, 0x47f388
mov edx, 0x47ef74
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xc48]
lea ecx, [ebp - 0xc44]
mov edx, dword [ebp - 0x44]
call fcn.0047654c
mov eax, dword [ebp - 0xc44]
mov cx, word [0x47f38c]
xor edx, edx
call fcn.0042e54c
cmp eax, 0xa
ja case.0x47da05.0
jmp dword [eax*4 + 0x47da0c]
lea eax, [ebp - 0x40]
mov edx, 0x47f374
call fcn.00404838
jmp case.0x47da05.0
lea eax, [ebp - 0x40]
mov edx, 0x47f398
call fcn.00404838
jmp case.0x47da05.0
mov dword [ebp - 0x2c], 1
lea eax, [ebp - 0x40]
mov edx, 0x47f374
call fcn.00404838
jmp case.0x47da05.0
mov dword [ebp - 0x2c], 2
lea eax, [ebp - 0x40]
mov edx, 0x47f398
call fcn.00404838
jmp case.0x47da05.0
mov eax, dword [ebp - 8]
call fcn.0046866c
cmp byte [0x48ccc3], 0
je 0x47daaa
lea eax, [ebp - 0x190]
call fcn.00403000
call fcn.00402894
push ebp
call fcn.0047c978
pop ecx
mov eax, dword [ebp - 0x3c]
add dword [0x48ccb8], eax
jmp 0x47e3d7
mov eax, dword [ebp - 0x40]
mov edx, 0x47f398
call fcn.00404bac
je 0x47dacd
cmp dword [ebp - 0x2c], 2
jne 0x47dae3
mov eax, dword [ebp - 0x3c]
add dword [0x48ccb8], eax
mov eax, dword [ebp - 0x44]
call fcn.0047c814
jmp 0x47e3d7
mov eax, dword [ebp - 0x40]
mov edx, 0x47f374
call fcn.00404bac
je 0x47daf8
cmp dword [ebp - 0x2c], 1
jne 0x47db22
xor eax, eax
push ebp
push 0x47db18
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x44]
call fcn.0040951c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47db22
lea eax, [ebp - 0xc4c]
push eax
mov ecx, 2
mov edx, 1
mov eax, dword [ebp - 0x44]
call fcn.00404cc0
mov eax, dword [ebp - 0xc4c]
mov edx, 0x47f3a8
call fcn.00404bac
jne 0x47db7b
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x44]
call fcn.00404a60
mov ecx, eax
mov edx, 3
mov eax, dword [ebp - 0x44]
call fcn.00404cc0
mov edx, dword [ebp - 0xc]
mov eax, 0x47f3b4
call fcn.00404da4
inc eax
mov dword [ebp - 0x20], eax
jmp 0x47db82
mov dword [ebp - 0x20], 3
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x44]
call fcn.00404a60
pop edx
sub eax, edx
jl 0x47dd31
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx - 1], 0x5c
jne 0x47dd25
lea eax, [ebp - 0xc50]
push eax
mov ebx, dword [ebp - 0x14]
dec ebx
mov ecx, ebx
mov edx, 1
mov eax, dword [ebp - 0x44]
call fcn.00404cc0
mov eax, dword [ebp - 0xc50]
call fcn.004092e0
test al, al
jne 0x47dd25
xor eax, eax
push ebp
push 0x47dc1d
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xc54]
push eax
mov ecx, ebx
mov edx, 1
mov eax, dword [ebp - 0x44]
call fcn.00404cc0
mov eax, dword [ebp - 0xc54]
call fcn.00402934
call fcn.00402894
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47dcee
cmp byte [0x48ccc1], 0
je 0x47dd25
cmp byte [ebp - 0x38], 0
je 0x47dd25
lea eax, [ebp - 0xc6c]
push eax
mov ecx, dword [ebp - 0x14]
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x44]
call fcn.00404cc0
mov edx, dword [ebp - 0xc6c]
mov eax, 0x47ef00
call fcn.00476bf4
inc dword [ebp - 0x14]
dec dword [ebp - 0x34]
jne 0x47db9e
push 0
lea eax, [ebp - 0xc74]
push eax
lea edx, [ebp - 0xc78]
mov eax, dword [ebp - 0x10]
call fcn.00408dc8
mov ecx, dword [ebp - 0xc78]
mov edx, 0x47eef0
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0xc74]
lea edx, [ebp - 0xc70]
call fcn.00408910
mov edx, dword [ebp - 0xc70]
mov eax, 0x47f3f4
call fcn.00404da4
test eax, eax
jle 0x47dd8b
cmp dword [ebp - 0x3c], 0
je 0x47e3d7
mov edx, dword [0x48ccb8]
lea eax, [ebp - 0x190]
call fcn.00403320
call fcn.00402894
mov eax, dword [0x48bc54]
mov eax, dword [eax]
call fcn.0046bc00
mov byte [ebp - 0x22], 0
lea eax, [ebp - 0xc7c]
mov ecx, 0x47f418
mov edx, dword [0x48ccc8]
call fcn.00404aac
mov edx, dword [ebp - 0xc7c]
lea eax, [ebp - 0x2dc]
call fcn.00402e68
xor edx, edx
push ebp
push 0x47df28
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, 1
lea eax, [ebp - 0x2dc]
call fcn.00403314
call fcn.00402894
xor ebx, ebx
mov esi, dword [ebp - 0x3c]
mov eax, esi
sub eax, ebx
cmp eax, 0x800
jl 0x47de2c
lea eax, [ebp - 0x1c]
push eax
lea edx, [ebp - 0xadc]
mov ecx, 0x800
lea eax, [ebp - 0x190]
call fcn.00402fc0
call fcn.00402894
jmp 0x47de48
lea edx, [ebp - 0x1c]
push edx
mov ecx, eax
lea edx, [ebp - 0xadc]
lea eax, [ebp - 0x190]
call fcn.00402fc0
call fcn.00402894
push 0
lea edx, [ebp - 0xadc]
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x2dc]
call fcn.00402fe0
call fcn.00402894
add ebx, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x10], 0x64
mov dword [ebp - 0xc80], eax
fild dword [ebp - 0xc80]
fild dword [ebp - 0x18]
fdivp st(1)
call fcn.00402bc4
mov edi, eax
fild dword [ebp - 0x18]
fdivr dword [0x47f424]
call fcn.00402bc4
push edx
push eax
mov eax, ebx
cdq
call fcn.004055f4
mov dword [ebp - 0xc88], eax
mov dword [ebp - 0xc84], edx
fild qword [ebp - 0xc88]
inc esi
mov dword [ebp - 0xc8c], esi
fild dword [ebp - 0xc8c]
fdivp st(1)
call fcn.00402bc4
add edi, eax
mov edx, edi
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x380]
call fcn.004365a4
mov eax, dword [0x48bc54]
mov eax, dword [eax]
call fcn.0046bc00
cmp byte [0x48ccc3], 0
je 0x47df0e
lea eax, [ebp - 0x190]
call fcn.00403000
call fcn.00402894
lea eax, [ebp - 0x2dc]
call fcn.00403000
call fcn.00402894
push ebp
call fcn.0047c978
pop ecx
cmp dword [ebp - 0x1c], 0x800
je 0x47ddfd
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47e001
cmp byte [ebp - 0x22], 0
jne 0x47ddad
lea eax, [ebp - 0x2dc]
call fcn.00403000
call fcn.00402894
mov eax, dword [0x48bc54]
mov eax, dword [eax]
call fcn.0046bc00
xor ecx, ecx
mov dl, 1
mov eax, dword [0x46f080]
call fcn.0046fa2c
mov dword [0x48cca8], eax
mov eax, dword [ebp - 0x40]
mov edx, 0x47f484
call fcn.00404bac
jne 0x47e17b
mov eax, dword [ebp - 0x44]
call fcn.004092d0
test al, al
je 0x47e17b
mov al, byte [0x47f49c]
push eax
lea eax, [ebp - 0xc9c]
mov ecx, 0x47f418
mov edx, dword [0x48ccc8]
call fcn.00404aac
mov edx, dword [ebp - 0xc9c]
mov ecx, dword [0x48ccc8]
mov eax, dword [0x48cca8]
call fcn.00470138
push dword [0x48ccc8]
push 0x47f3b4
lea edx, [ebp - 0xca4]
mov eax, dword [ebp - 0x44]
call fcn.0040963c
push dword [ebp - 0xca4]
lea eax, [ebp - 0xca0]
mov edx, 3
call fcn.00404b20
mov eax, dword [ebp - 0xca0]
mov edx, dword [ebp - 0x44]
call fcn.0047c4e8
test al, al
je 0x47e0ff
xor eax, eax
push ebp
push 0x47e0f3
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x44]
call fcn.0040951c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47e17b
mov eax, dword [0x48cca8]
call fcn.00403a50
xor eax, eax
push ebp
push 0x47e15b
push dword fs:[eax]
mov dword fs:[eax], esp
push dword [0x48ccc8]
push 0x47f3b4
lea edx, [ebp - 0xcac]
mov eax, dword [ebp - 0x44]
call fcn.0040963c
push dword [ebp - 0xcac]
lea eax, [ebp - 0xca8]
mov edx, 3
call fcn.00404b20
mov eax, dword [ebp - 0xca8]
call fcn.0040951c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47e165
mov eax, dword [ebp - 0x3c]
add dword [0x48ccb8], eax
mov eax, dword [ebp - 0x44]
call fcn.0047c814
jmp 0x47e3d7
mov eax, dword [ebp - 0x44]
call fcn.004092d0
test al, al
je 0x47e20b
lea edx, [ebp - 0xcb4]
mov eax, dword [ebp - 0x44]
call fcn.00409674
mov eax, dword [ebp - 0xcb4]
lea edx, [ebp - 0xcb0]
call fcn.00408910
mov eax, dword [ebp - 0xcb0]
mov edx, 0x47f4a8
call fcn.00404bac
je 0x47e1ed
lea edx, [ebp - 0xcbc]
mov eax, dword [ebp - 0x44]
call fcn.00409674
mov eax, dword [ebp - 0xcbc]
lea edx, [ebp - 0xcb8]
call fcn.00408910
mov eax, dword [ebp - 0xcb8]
mov edx, 0x47f4b8
call fcn.00404bac
jne 0x47e20b
mov eax, dword [ebp - 0x44]
call fcn.0047c740
push 0x12c
call sub.kernel32.dll_Sleep_1
mov eax, dword [0x48bc54]
mov eax, dword [eax]
call fcn.0046bc00
xor eax, eax
push ebp
push 0x47e2ae
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x22], 0
mov eax, dword [ebp - 0x44]
call fcn.004092d0
test al, al
je 0x47e25f
xor eax, eax
push ebp
push 0x47e255
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x44]
call fcn.0040951c
mov eax, dword [0x48bc54]
mov eax, dword [eax]
call fcn.0046bc00
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47e25f
mov al, byte [0x47f49c]
push eax
lea edx, [ebp - 0xcc0]
mov eax, dword [ebp - 0x44]
call fcn.004095e8
mov eax, dword [ebp - 0xcc0]
push eax
lea eax, [ebp - 0xcc4]
mov ecx, 0x47f418
mov edx, dword [0x48ccc8]
call fcn.00404aac
mov edx, dword [ebp - 0xcc4]
mov eax, dword [0x48cca8]
pop ecx
call fcn.00470138
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47e392
cmp byte [ebp - 0x22], 0
jne 0x47e20b
mov eax, dword [0x48cca8]
call fcn.00403a50
mov eax, dword [ebp - 0x3c]
add dword [0x48ccb8], eax
cmp byte [0x48ccc1], 0
je 0x47e3cb
cmp byte [ebp - 0x38], 0
je 0x47e3cb
mov edx, dword [ebp - 0x44]
mov eax, 0x47eef0
call fcn.00476bf4
mov eax, dword [0x48bc54]
mov eax, dword [eax]
call fcn.0046bc00
inc dword [ebp - 0x10]
dec dword [ebp - 0x30]
jne 0x47d50b
lea eax, [ebp - 0x190]
call fcn.00403000
call fcn.00402894
mov eax, dword [0x48bc54]
mov eax, dword [eax]
call fcn.0046bc00
cmp byte [0x48ccc1], 0
je 0x47e482
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x36c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x47e482
lea edx, [ebp - 0xcd4]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x36c]
call fcn.0044c25c
lea eax, [ebp - 0xcd4]
mov edx, 0x47f4f4
call fcn.00404a68
mov edx, dword [ebp - 0xcd4]
mov eax, 0x47eef0
call fcn.00476bf4
lea edx, [ebp - 0xcd8]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x36c]
call fcn.0044c25c
lea eax, [ebp - 0xcd8]
mov edx, 0x47eebc
call fcn.00404a68
mov edx, dword [ebp - 0xcd8]
mov eax, 0x47eef0
call fcn.00476bf4
push 0
mov ecx, 0x47efc4
mov edx, 0x47f040
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x10]
test al, al
je 0x47e4d0
lea edx, [ebp - 0xcdc]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x36c]
call fcn.0044c25c
lea eax, [ebp - 0xcdc]
mov edx, 0x47f50c
call fcn.00404a68
mov edx, dword [ebp - 0xcdc]
mov eax, 0x47eef0
call fcn.00476bf4
push 0x47f524
lea eax, [ebp - 0xce0]
push eax
mov ecx, 0x47ef94
mov edx, 0x47eeac
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0xce0]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x37c]
call fcn.0044c28c
mov ecx, dword [ebp - 4]
mov edx, 0x47f544
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x40]
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x47e571
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0
push 0
lea eax, [ebp - 0xce4]
push eax
lea ecx, [ebp - 0xce8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0xce8]
mov edx, 0x47f544
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0xce4]
mov eax, dword [ebp - 8]
call fcn.00477910
inc dword [ebp - 0x10]
dec dword [ebp - 0x30]
jne 0x47e52d
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x378]
xor edx, edx
call fcn.0044c28c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x3fc]
cmp byte [eax + 0x57], 0
je 0x47e65e
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x3fc]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x47e65e
push 0x47f558
lea eax, [ebp - 0xcec]
push eax
mov ecx, 0x47efb8
mov edx, 0x47eeac
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0xcec]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x37c]
call fcn.0044c28c
mov ecx, dword [ebp - 4]
mov edx, 0x47f57c
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x40]
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x47e64e
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0
push 0
lea eax, [ebp - 0xcf0]
push eax
lea ecx, [ebp - 0xcf4]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0xcf4]
mov edx, 0x47f57c
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0xcf0]
mov eax, dword [ebp - 8]
call fcn.004796c4
inc dword [ebp - 0x10]
dec dword [ebp - 0x30]
jne 0x47e60a
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x378]
xor edx, edx
call fcn.0044c28c
push 0x47f590
lea eax, [ebp - 0xcf8]
push eax
mov ecx, 0x47efa0
mov edx, 0x47eeac
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0xcf8]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x37c]
call fcn.0044c28c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2f8]
mov ecx, dword [eax + 0x218]
mov edx, 0x47f5b8
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x40]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2f8]
mov eax, dword [eax + 0x218]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x47e72c
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0
cmp byte [0x48ccc3], 0
jne 0x47e72c
push 0
lea eax, [ebp - 0xcfc]
push eax
lea ecx, [ebp - 0xd00]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2f8]
mov eax, dword [eax + 0x218]
mov edx, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0xd00]
mov edx, 0x47f5b8
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0xcfc]
mov eax, dword [ebp - 8]
call fcn.00478684
inc dword [ebp - 0x10]
dec dword [ebp - 0x30]
jne 0x47e6d3
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x378]
xor edx, edx
call fcn.0044c28c
push 0x47f5cc
lea eax, [ebp - 0xd04]
push eax
mov ecx, 0x47efac
mov edx, 0x47eeac
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0xd04]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x37c]
call fcn.0044c28c
mov ecx, dword [ebp - 4]
mov edx, 0x47f5ec
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x40]
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x47e7dd
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0
push 0
lea eax, [ebp - 0xd08]
push eax
lea ecx, [ebp - 0xd0c]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0xd0c]
mov edx, 0x47f5ec
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0xd08]
mov eax, dword [ebp - 8]
call fcn.004792e8
inc dword [ebp - 0x10]
dec dword [ebp - 0x30]
jne 0x47e799
push 0
mov ecx, 0x47f5f8
mov edx, 0x47f040
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x10]
test al, al
je 0x47e8bd
cmp byte [0x48ccc7], 0
je 0x47e813
mov edx, 0x47f610
mov eax, dword [ebp - 8]
call fcn.00478684
jmp 0x47e820
mov edx, 0x47f690
mov eax, dword [ebp - 8]
call fcn.00478684
mov edx, 0x47f710
mov eax, dword [ebp - 8]
call fcn.004792e8
push 0x47f758
push 0x47ef88
lea eax, [ebp - 0xd14]
push eax
mov ecx, 0x47f78c
mov edx, 0x47f040
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx]
push dword [ebp - 0xd14]
push 0x47f7a0
lea eax, [ebp - 0xd10]
mov edx, 3
call fcn.00404b20
mov edx, dword [ebp - 0xd10]
mov eax, dword [ebp - 8]
call fcn.004792e8
push 0
mov ecx, 0x47f7b4
mov edx, 0x47f040
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x10]
test al, al
je 0x47e8a3
mov edx, 0x47f7d0
mov eax, dword [ebp - 8]
call fcn.004792e8
jmp 0x47e8b0
mov edx, 0x47f818
mov eax, dword [ebp - 8]
call fcn.004792e8
mov edx, 0x47f860
mov eax, dword [ebp - 8]
call fcn.004792e8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x378]
xor edx, edx
call fcn.0044c28c
push 0
mov ecx, 0x47f8b0
mov edx, 0x47f040
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x10]
test al, al
je 0x47eb14
push 0x47f590
lea eax, [ebp - 0xd18]
push eax
mov ecx, 0x47efa0
mov edx, 0x47eeac
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0xd18]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x37c]
call fcn.0044c28c
mov ecx, dword [ebp - 4]
mov edx, 0x47f8c0
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x40]
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x47e98c
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0
push 0
lea eax, [ebp - 0xd1c]
push eax
lea ecx, [ebp - 0xd20]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0xd20]
mov edx, 0x47f8c0
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0xd1c]
mov eax, dword [ebp - 8]
call fcn.00479e94
inc dword [ebp - 0x10]
dec dword [ebp - 0x30]
jne 0x47e948
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x47e9d8
xor eax, eax
push ebp
push 0x47e9ce
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x28]
push eax
push 0x1388
push 2
push 0x47f8d0
push 0
push 0x1a
push 0xffff
call sub.user32.dll_SendMessageTimeoutA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47e9d8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x378]
xor edx, edx
call fcn.0044c28c
push 0x47f8e4
lea eax, [ebp - 0xd24]
push eax
mov ecx, 0x47f900
mov edx, 0x47eeac
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0xd24]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x37c]
call fcn.0044c28c
mov eax, dword [0x48bc54]
mov eax, dword [eax]
call fcn.0046bc00
mov ecx, dword [ebp - 4]
mov edx, 0x47f90c
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x40]
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x47ea95
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0
push 0
lea eax, [ebp - 0xd28]
push eax
lea ecx, [ebp - 0xd2c]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0xd2c]
mov edx, 0x47f90c
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0xd28]
mov eax, dword [ebp - 8]
call fcn.0047ae00
inc dword [ebp - 0x10]
dec dword [ebp - 0x30]
jne 0x47ea51
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x378]
xor edx, edx
call fcn.0044c28c
mov ecx, dword [ebp - 4]
mov edx, 0x47f91c
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x40]
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x47eb14
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0
push 0
lea eax, [ebp - 0xd30]
push eax
lea ecx, [ebp - 0xd34]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0xd34]
mov edx, 0x47f91c
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0xd30]
mov ax, 3
call fcn.0047ba4c
inc dword [ebp - 0x10]
dec dword [ebp - 0x30]
jne 0x47eacf
cmp byte [0x48ccc4], 0
je 0x47eb4b
xor eax, eax
push ebp
push 0x47eb41
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x48cd18]
push eax
call dword [0x48cd14]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47eb4b
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x380]
mov edx, 0x64
call fcn.004365a4
push 0x47f8e4
lea eax, [ebp - 0xd38]
push eax
mov ecx, 0x47f900
mov edx, 0x47eeac
mov eax, dword [0x48ccb0]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0xd38]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x37c]
call fcn.0044c28c
mov eax, dword [0x48bc54]
mov eax, dword [eax]
call fcn.0046bc00
cmp byte [0x48ccc1], 0
je 0x47ebc8
push 0
mov ecx, 0x47f930
mov edx, 0x47f040
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x10]
test al, al
je 0x47ebc8
mov eax, dword [ebp - 8]
call fcn.0047719c
mov eax, dword [ebp - 4]
call fcn.00403a50
mov eax, dword [0x48ccb4]
call fcn.00403a50
xor eax, eax
push ebp
push 0x47ed24
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x48ccc1], 0
je 0x47eca7
push 0
lea edx, [ebp - 0xd3c]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x36c]
call fcn.0044c25c
lea eax, [ebp - 0xd3c]
mov edx, 0x47eebc
call fcn.00404a68
mov eax, dword [ebp - 0xd3c]
call fcn.00404c60
push eax
lea eax, [ebp - 0xd40]
mov ecx, 0x47eed4
mov edx, dword [0x48ccc8]
call fcn.00404aac
mov eax, dword [ebp - 0xd40]
call fcn.00404c60
push eax
call sub.kernel32.dll_CopyFileA
push 0
lea edx, [ebp - 0xd44]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x36c]
call fcn.0044c25c
lea eax, [ebp - 0xd44]
mov edx, 0x47f4f4
call fcn.00404a68
mov eax, dword [ebp - 0xd44]
call fcn.00404c60
push eax
lea eax, [ebp - 0xd48]
mov ecx, 0x47f948
mov edx, dword [0x48ccc8]
call fcn.00404aac
mov eax, dword [ebp - 0xd48]
call fcn.00404c60
push eax
call sub.kernel32.dll_CopyFileA
push 0
mov ecx, 0x47efc4
mov edx, 0x47f040
mov eax, dword [0x48ccac]
mov ebx, dword [eax]
call dword [ebx + 0x10]
test al, al
je 0x47ed1a
push 0
lea edx, [ebp - 0xd4c]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x36c]
call fcn.0044c25c
lea eax, [ebp - 0xd4c]
mov edx, 0x47f50c
call fcn.00404a68
mov eax, dword [ebp - 0xd4c]
call fcn.00404c60
push eax
lea eax, [ebp - 0xd50]
mov ecx, 0x47f964
mov edx, dword [0x48ccc8]
call fcn.00404aac
mov eax, dword [ebp - 0xd50]
call fcn.00404c60
push eax
call sub.kernel32.dll_CopyFileA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47ed2e
mov eax, dword [0x48bc54]
mov eax, dword [eax]
call fcn.0046bc00
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47ee72
lea eax, [ebp - 0xd50]
call fcn.004047a0
lea eax, [ebp - 0xd4c]
call fcn.004047a0
lea eax, [ebp - 0xd48]
call fcn.004047a0
lea eax, [ebp - 0xd44]
call fcn.004047a0
lea eax, [ebp - 0xd40]
call fcn.004047a0
lea eax, [ebp - 0xd3c]
call fcn.004047a0
lea eax, [ebp - 0xd38]
mov edx, 0x17
call fcn.004047c4
lea eax, [ebp - 0xcdc]
mov edx, 3
call fcn.004047c4
lea eax, [ebp - 0xcd0]
mov edx, 0x11
call fcn.004047c4
lea eax, [ebp - 0xc7c]
mov edx, 0x32
call fcn.004047c4
lea eax, [ebp - 0xbb0]
call fcn.004047a0
lea eax, [ebp - 0xbb4]
call fcn.004047a0
lea eax, [ebp - 0xbac]
mov edx, 3
call fcn.004047c4
lea eax, [ebp - 0xba0]
call fcn.004047a0
lea eax, [ebp - 0xb9c]
mov edx, 0x29
call fcn.004047c4
lea eax, [ebp - 0xaf8]
call fcn.004047a0
lea eax, [ebp - 0xaf4]
call fcn.004047a0
lea eax, [ebp - 0xaf0]
call fcn.004047a0
lea eax, [ebp - 0xaec]
call fcn.004047a0
lea eax, [ebp - 0xae8]
call fcn.004047a0
lea eax, [ebp - 0xae4]
mov edx, 2
call fcn.004047c4
lea eax, [ebp - 0x44]
mov edx, dword [0x47c954]
call fcn.00405208
lea eax, [ebp - 0xc]
call fcn.004047a0
ret