Function at 0x470460
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov r11, rsp
sub rsp, 0x358
mov qword [rsp + 0xd0], 0xfffffffffffffffe
mov r14, r9
mov rdi, r8
mov rsi, rdx
mov r13, rcx
cmp dword [r8 + 0x60], 1
je 0x4704b2
lea rax, str.It_must_be_one_command
mov qword [r11 + 0x58], rax
lea rdx, [0x00499cd0]
lea rcx, [r11 + 0x58]
call sub.msvcrt.dll__CxxThrowException
int3
xor r12d, r12d
mov bl, r12b
lea rcx, [rsp + 0x98]
call fcn.00408a0c
lea rcx, [rsp + 0xc0]
call fcn.00403838
nop
lea rcx, [rsp + 0x60]
call fcn.00403838
nop
cmp dword [rsi + 8], r12d
jbe 0x47051d
mov rax, qword [rsi]
mov rdx, qword [rax]
cmp byte [rdx + 0x10], r12b
je 0x47051d
xor r8d, r8d
mov rdx, qword [rdx]
lea rcx, [rsp + 0x98]
call fcn.00409070
cmp al, r12b
je 0x47051d
cmp dword [rsi + 8], 1
jne 0x47051d
mov ebx, dword [rsp + 0xb8]
shr ebx, 4
not bl
and bl, 1
lea rcx, [rsp + 0xe0]
call fcn.00470188
nop
lea r15, [r13 + 0x50]
mov qword [rsp + 0x240], r15
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x3c], r12d
lea rdx, [rsp + 0x30]
mov rcx, r13
call fcn.0043a780
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe0]
call fcn.00464560
nop
movsxd rsi, dword [rsp + 0x38]
mov rbp, rsi
cmp esi, r12d
je 0x4705a6
shl rbp, 3
add esi, 0xffffffff
sub rbp, 8
mov rax, qword [rsp + 0x30]
mov r12, qword [rax + rbp]
test r12, r12
je 0x47059e
mov rcx, qword [r12 + 8]
call fcn.004046d0
mov rcx, r12
call fcn.004046d0
xor r12d, r12d
cmp esi, r12d
jne 0x470577
mov rcx, qword [rsp + 0x30]
call fcn.004046d0
cmp byte [rdi + 0x20], r12b
je 0x4705c0
mov eax, dword [rdi + 0x28]
mov dword [rsp + 0x324], eax
mov esi, r12d
cmp dword [r13 + 0x58], r12d
jbe 0x47067f
mov rbp, r12
mov rax, qword [r15]
mov rcx, qword [rax + rbp]
cmp byte [rcx + 0x40], r12b
je 0x47066f
cmp bl, r12b
jne 0x4705ef
test byte [rcx], 1
jne 0x47066f
cmp esi, dword [rsp + 0x324]
je 0x470641
mov eax, dword [rcx]
shr eax, 0xd
test al, 1
jne 0x47066f
lea rdx, str.swfc
mov rcx, qword [rcx + 0x18]
call fcn.00402cb8
cmp al, r12b
je 0x470641
cmp bl, r12b
je 0x47066f
cmp dword [rsp + 0x68], 4
jb 0x47066f
mov ecx, dword [rsp + 0x68]
mov rax, qword [rsp + 0x60]
lea rcx, [rax + rcx*2 - 8]
lea rdx, str..swf
call fcn.00402cb8
cmp al, r12b
je 0x47066f
lea rcx, [rsp + 0x248]
call fcn.00401e28
mov r11d, dword [rsp + 0x250]
mov rcx, r11
inc r11d
mov dword [rsp + 0x250], r11d
mov rax, qword [rsp + 0x248]
mov dword [rax + rcx*4], esi
inc esi
add rbp, 8
cmp esi, dword [r13 + 0x58]
jb 0x4705d0
cmp dword [rsp + 0x250], r12d
jne 0x4706bb
lea rdx, str.No_Update_Engines
xor ecx, ecx
call fcn.004529c8
nop
lea rcx, [rsp + 0xe0]
call fcn.0046f850
nop
mov rcx, qword [rsp + 0x60]
call fcn.004046d0
nop
mov ebx, 0x80004005
jmp 0x47098f
lea rdx, [rsp + 0x70]
lea rcx, [rdi + 0x68]
call fcn.0044651c
nop
mov rdx, rax
lea rcx, [rsp + 0x310]
call fcn.00403a84
nop
mov rcx, qword [rsp + 0x70]
call fcn.004046d0
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x340]
call fcn.00403a84
mov eax, dword [rdi + 0x1c]
mov dword [rsp + 0x26c], eax
mov al, byte [rdi + 1]
mov byte [rsp + 0x2f0], al
mov al, byte [rdi + 3]
mov byte [rsp + 0x2f1], al
mov al, byte [rdi + 9]
mov byte [rsp + 0x2f2], al
movzx eax, word [rdi + 0x11]
mov word [rsp + 0x2f3], ax
movzx eax, word [rdi + 0xf]
mov word [rsp + 0x2f5], ax
movzx eax, word [rdi + 0xd]
mov word [rsp + 0x2f7], ax
movzx eax, word [rdi + 0xb]
mov word [rsp + 0x2f9], ax
cmp byte [rdi + 0xa], r12b
je 0x470768
mov byte [rsp + 0x30a], 1
mov byte [rsp + 0x30b], 1
cmp byte [rdi + 2], r12b
je 0x47077e
mov byte [rsp + 0x2fb], 1
mov byte [rsp + 0x2fc], 1
cmp byte [r14 + 0x48], r12b
je 0x470795
lea rdx, [r14 + 0x38]
lea rcx, [rsp + 0x328]
call fcn.00403a84
cmp bl, r12b
sete byte [rsp + 0x320]
mov rax, qword [rdi + 0x58]
mov r13, qword [rax]
add r13, 0x88
mov ecx, r12d
lea r10, [0x0047e8c8]
mov r8d, r12d
mov rdx, r13
mov r9, qword [r10]
sub r9, r13
mov eax, dword [r9 + rdx]
cmp dword [rdx], eax
jne 0x4707db
inc r8d
add rdx, 4
cmp r8d, 7
jae 0x4707eb
jmp 0x4707c4
inc ecx
add r10, 0x10
cmp ecx, 4
jb 0x4707b8
mov ecx, 0xffffffff
cmp ecx, r12d
jge 0x470813
lea rcx, [rsp + 0xe0]
call fcn.0046f850
nop
mov rcx, qword [rsp + 0x60]
call fcn.004046d0
nop
mov ebx, 0x80004001
jmp 0x47098f
mov eax, ecx
add rax, rax
lea rbx, [0x0047e8c0]
mov eax, dword [rbx + rax*8]
mov dword [rsp + 0x268], eax
xor ebp, ebp
cmp dword [rdi + 0x50], ebp
jbe 0x470899
xor ebx, ebx
mov rax, qword [rdi + 0x48]
mov rsi, qword [rbx + rax]
lea r8, [rsp + 0x304]
lea rdx, [0x0047d610]
mov rcx, rsi
call fcn.0046f350
test al, al
jne 0x470887
lea r8, [rsp + 0x306]
lea rdx, [0x0047d60c]
mov rcx, rsi
call fcn.0046f350
test al, al
jne 0x470887
lea r8, [rsp + 0x308]
lea rdx, [0x0047d608]
mov rcx, rsi
call fcn.0046f350
inc ebp
add rbx, 8
cmp ebp, dword [rdi + 0x50]
jb 0x470832
lea rbx, [0x0047e8c0]
mov r8, qword [rsp + 0x3c0]
mov edx, 0xfa0
lea rcx, [rsp + 0xe0]
call fcn.0040f44c
cmp rax, 1
je 0x4708dc
lea rcx, [rsp + 0xe0]
call fcn.0046f850
nop
mov rcx, qword [rsp + 0x60]
call fcn.004046d0
nop
mov ebx, 0x80004004
jmp 0x47098f
mov al, byte [rsp + 0x2f2]
mov byte [rdi + 9], al
movzx eax, word [rsp + 0x2f3]
mov word [rdi + 0x11], ax
movzx eax, word [rsp + 0x2f5]
mov word [rdi + 0xf], ax
movzx eax, word [rsp + 0x2f7]
mov word [rdi + 0xd], ax
movzx eax, word [rsp + 0x2f9]
mov word [rdi + 0xb], ax
mov al, byte [rsp + 0x30a]
mov byte [rdi + 0xa], al
cmp byte [rsp + 0x2fc], 0
je 0x470934
mov al, byte [rsp + 0x2fb]
mov byte [rdi + 2], al
lea rcx, [rdi + 0x130]
lea rdx, [rsp + 0x298]
call fcn.00412d34
xor r11d, r11d
mov rax, rbx
mov ecx, dword [rsp + 0x268]
cmp ecx, dword [rax]
je 0x47096c
inc r11d
add rax, 0x10
cmp r11d, 4
jb 0x470955
mov r11d, 0xffffffff
test r11d, r11d
jns 0x4709a3
lea rcx, [rsp + 0xe0]
call fcn.0046f850
nop
mov rcx, qword [rsp + 0x60]
call fcn.004046d0
nop
mov ebx, 0x80004005
mov rcx, qword [rsp + 0xc0]
call fcn.004046d0
mov eax, ebx
jmp 0x470dbf
movsxd rdx, r11d
add rdx, rdx
mov rdx, qword [rbx + rdx*8 + 8]
mov rcx, r13
mov r8d, 0x1c
call sub.msvcrt.dll_memcpy
mov r11d, dword [rsp + 0x26c]
mov dword [rdi + 0x1c], r11d
mov ecx, dword [rsp + 0x324]
mov rax, qword [r15]
mov r13, qword [rax + rcx*8]
xor r15d, r15d
cmp dword [rsp + 0x330], r15d
setne al
mov byte [r14 + 0x48], al
cmp al, r15b
je 0x4709fe
lea rcx, [r14 + 0x38]
lea rdx, [rsp + 0x328]
call fcn.00403a84
movsxd rbx, dword [rdi + 0x50]
mov rbp, rbx
cmp ebx, r15d
je 0x470a40
shl rbp, 3
add ebx, 0xffffffff
sub rbp, 8
mov rax, qword [rdi + 0x48]
mov rsi, qword [rax + rbp]
cmp rsi, r15
je 0x470a3b
mov rcx, qword [rsi + 0x10]
call fcn.004046d0
mov rcx, qword [rsi]
call fcn.004046d0
mov rcx, rsi
call fcn.004046d0
cmp ebx, r15d
jne 0x470a0e
mov dword [rdi + 0x50], r15d
lea rdx, [0x00478d4c]
mov rcx, qword [r13 + 0x18]
call fcn.00402cb8
mov bpl, al
mov qword [rsp + 0x20], r15
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x2c], r15d
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x2d0]
call fcn.004044ac
mov esi, r15d
mov edx, dword [rsp + 0x28]
cmp edx, r15d
jbe 0x470ad2
mov rbx, r15
mov rax, qword [rsp + 0x20]
mov r8, qword [rbx + rax]
cmp dword [r8 + 8], 2
jbe 0x470ac8
mov rax, qword [r8]
cmp word [rax], 0x2d
jne 0x470ac8
movzx ecx, word [rax + 2]
lea eax, [rcx - 0x41]
cmp ax, 0x19
ja 0x470ab1
add cx, 0x20
cmp cx, 0x6d
jne 0x470ac8
mov edx, 2
mov rcx, r8
call fcn.00403fec
mov edx, dword [rsp + 0x28]
inc esi
add rbx, 8
cmp esi, edx
jb 0x470a87
mov esi, r15d
cmp edx, r15d
jbe 0x470b44
mov rbx, r15
mov rax, qword [rsp + 0x20]
mov rcx, qword [rbx + rax]
cmp bpl, r15b
je 0x470b14
lea rdx, [rsp + 0x3b0]
mov rcx, qword [rcx]
call fcn.00404b80
cmp rax, r15
jne 0x470b2c
mov rax, qword [rsp + 0x3b0]
cmp word [rax], 0x3d
je 0x470b3c
mov edx, dword [rsp + 0x28]
jmp 0x470b30
cmp dword [rcx + 8], r15d
jbe 0x470b30
mov rax, qword [rcx]
cmp word [rax], 0x6d
jne 0x470b30
cmp word [rax + 2], 0x3d
je 0x470b40
jmp 0x470b30
mov edx, dword [rsp + 0x28]
inc esi
add rbx, 8
cmp esi, edx
jb 0x470add
jmp 0x470b44
mov al, 1
jmp 0x470b47
mov al, 1
jmp 0x470b47
mov al, r15b
cmp al, r15b
sete r9b
mov r8b, bpl
lea rdx, [rsp + 0x268]
lea rcx, [rdi + 0x48]
call fcn.0046fe70
mov r11b, byte [rsp + 0x2f1]
mov byte [rdi + 3], r11b
lea rdx, [rsp + 0x20]
lea rcx, [rdi + 0x48]
call fcn.0046fcc0
cmp byte [rsp + 0x2f0], r15b
je 0x470b8a
mov byte [rdi + 1], 1
mov dword [rsp + 0x40], 0xffffffff
mov byte [rsp + 0x48], r15b
mov byte [rsp + 0x49], r15b
mov byte [rsp + 0x4a], r15b
mov byte [rsp + 0x4b], r15b
mov byte [rsp + 0x4c], r15b
mov byte [rsp + 0x50], 1
mov byte [rsp + 0x51], 1
mov byte [rsp + 0x52], r15b
mov byte [rsp + 0x53], r15b
mov byte [rsp + 0x54], r15b
mov byte [rsp + 0x55], r15b
mov byte [rsp + 0x56], r15b
mov qword [rsp + 0x58], r15
mov byte [rsp + 0x44], 1
mov byte [rsp + 0x45], 1
mov byte [rsp + 0x46], 1
mov byte [rsp + 0x47], 1
mov byte [rsp + 0x4e], 1
mov byte [rsp + 0x4f], 1
mov byte [rsp + 0x4d], 1
lea rcx, [rdi + 0x28]
lea rdx, [rsp + 0x40]
mov r8d, 0x20
call sub.msvcrt.dll_memcpy
mov byte [rdi + 0x20], 1
mov eax, dword [rsp + 0x324]
mov dword [rdi + 0x28], eax
lea rdx, [rsp + 0x70]
mov rcx, r13
call fcn.0043d904
nop
mov rdx, rax
lea rcx, [rdi + 0xa8]
call fcn.00403a84
nop
mov rcx, qword [rsp + 0x70]
call fcn.004046d0
cmp byte [rsp + 0x2f0], r15b
je 0x470c5f
lea rcx, [rdi + 0x98]
lea rdx, [0x00478998]
call fcn.00403b94
jmp 0x470c72
lea rcx, [rdi + 0x98]
lea rdx, [rdi + 0xa8]
call fcn.00403a84
xor r8d, r8d
lea rdx, [rsp + 0x310]
lea rcx, [rdi + 0x68]
call fcn.0044664c
lea rcx, [rsp + 0x88]
call fcn.00403838
nop
lea rcx, [rsp + 0x80]
call fcn.004517ec
mov dword [rdi + 0x118], r15d
mov rax, qword [rdi + 0x110]
mov word [rax], r15w
cmp dword [rsp + 0x80], 1
je 0x470d43
lea rcx, [rsp + 0x30]
call fcn.00403838
nop
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x310]
call fcn.00407cc0
lea rcx, [rsp + 0x70]
call fcn.00403838
nop
lea r9, [rsp + 0x70]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x40]
call fcn.00450f88
nop
mov rdx, rax
lea rcx, [rdi + 0x110]
call fcn.00403a84
nop
mov rcx, qword [rsp + 0x40]
call fcn.004046d0
mov rcx, qword [rdi + 0x110]
call fcn.00408108
nop
mov rcx, qword [rsp + 0x70]
call fcn.004046d0
nop
mov rcx, qword [rsp + 0x30]
call fcn.004046d0
nop
mov rcx, qword [rsp + 0x88]
call fcn.004046d0
nop
movsxd rbx, dword [rsp + 0x28]
mov rdi, rbx
cmp ebx, r15d
je 0x470d8c
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x20]
mov rsi, qword [rdi + rax]
cmp rsi, r15
je 0x470d87
mov rcx, qword [rsi]
call fcn.004046d0
mov rcx, rsi
call fcn.004046d0
cmp ebx, r15d
jne 0x470d62
mov rcx, qword [rsp + 0x20]
call fcn.004046d0
nop
lea rcx, [rsp + 0xe0]
call fcn.0046f850
nop
mov rcx, qword [rsp + 0x60]
call fcn.004046d0
nop
mov rcx, qword [rsp + 0xc0]
call fcn.004046d0
xor eax, eax
add rsp, 0x358
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret