Function at 0x406d00
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
mov r11, rsp
sub rsp, 0x1d8
mov qword [rsp + 0x160], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rbp
mov qword [r11 - 8], rsi
mov qword [r11 - 0x10], rdi
mov qword [r11 - 0x18], r12
mov qword [r11 - 0x20], r13
mov rax, qword [0x004a03d0]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
mov r12, rdx
mov rdi, rcx
mov qword [r11 - 0x80], rcx
xor r13d, r13d
mov qword [r11 - 0x118], r13
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
mov word [rsp + 0x30], 0x44
lea rax, [rsp + 0x38]
mov qword [r11 - 0x48], rax
mov qword [r11 - 0x40], r13
movaps xmm0, xmmword [r11 - 0x48]
movdqa xmmword [rsp + 0x60], xmm0
lea r9, [rsp + 0x30]
lea r8d, [r13 + 1]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x38]
call fcn.0040b1e0
mov rbx, qword [rsp + 0x40]
mov rsi, rbx
mov rdx, qword [rsp + 0x48]
cmp rbx, rdx
jbe 0x406dbb
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
cmp rsi, rdx
ja 0x406dc5
cmp rsi, rbx
jae 0x406dd4
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov word [rsp + 0x30], 0x64
test rbx, rbx
je 0x406e11
mov rcx, rdx
sub rcx, rbx
sar rcx, 1
mov rax, qword [rsp + 0x50]
sub rax, rbx
sar rax, 1
cmp rcx, rax
jae 0x406e11
mov word [rdx], 0x64
add rdx, 2
mov qword [rsp + 0x48], rdx
mov rbx, qword [rsp + 0x40]
jmp 0x406ec0
mov rsi, rdx
cmp rbx, rdx
jbe 0x406e28
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rsi
test rbx, rbx
je 0x406e59
mov rax, rdx
sub rax, rbx
sar rax, 1
je 0x406e59
cmp rbx, rdx
jbe 0x406e51
call fcn.0045a5e0
sub rsi, rbx
sar rsi, 1
jmp 0x406e5c
mov rsi, r13
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
lea r9, [rsp + 0x30]
mov r8d, 1
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x38]
call fcn.0040b1e0
mov rbx, qword [rsp + 0x40]
mov rbp, rbx
mov rdx, qword [rsp + 0x48]
cmp rbx, rdx
jbe 0x406ea2
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rax, [rbp + rsi*2]
cmp rax, rdx
ja 0x406eb1
cmp rax, rbx
jae 0x406ec0
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov word [rsp + 0x30], 0x76
test rbx, rbx
je 0x406efd
mov rcx, rdx
sub rcx, rbx
sar rcx, 1
mov rax, qword [rsp + 0x50]
sub rax, rbx
sar rax, 1
cmp rcx, rax
jae 0x406efd
mov word [rdx], 0x76
add rdx, 2
mov qword [rsp + 0x48], rdx
mov rbx, qword [rsp + 0x40]
jmp 0x406fac
mov rsi, rdx
cmp rbx, rdx
jbe 0x406f14
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rsi
test rbx, rbx
je 0x406f45
mov rax, rdx
sub rax, rbx
sar rax, 1
je 0x406f45
cmp rbx, rdx
jbe 0x406f3d
call fcn.0045a5e0
sub rsi, rbx
sar rsi, 1
jmp 0x406f48
mov rsi, r13
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
lea r9, [rsp + 0x30]
mov r8d, 1
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x38]
call fcn.0040b1e0
mov rbx, qword [rsp + 0x40]
mov rbp, rbx
mov rdx, qword [rsp + 0x48]
cmp rbx, rdx
jbe 0x406f8e
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rax, [rbp + rsi*2]
cmp rax, rdx
ja 0x406f9d
cmp rax, rbx
jae 0x406fac
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov word [rsp + 0x30], 0x43
test rbx, rbx
je 0x406fe9
mov rcx, rdx
sub rcx, rbx
sar rcx, 1
mov rax, qword [rsp + 0x50]
sub rax, rbx
sar rax, 1
cmp rcx, rax
jae 0x406fe9
mov word [rdx], 0x43
add rdx, 2
mov qword [rsp + 0x48], rdx
mov rbx, qword [rsp + 0x40]
jmp 0x407098
mov rsi, rdx
cmp rbx, rdx
jbe 0x407000
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rsi
test rbx, rbx
je 0x407031
mov rax, rdx
sub rax, rbx
sar rax, 1
je 0x407031
cmp rbx, rdx
jbe 0x407029
call fcn.0045a5e0
sub rsi, rbx
sar rsi, 1
jmp 0x407034
mov rsi, r13
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
lea r9, [rsp + 0x30]
mov r8d, 1
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x38]
call fcn.0040b1e0
mov rbx, qword [rsp + 0x40]
mov rbp, rbx
mov rdx, qword [rsp + 0x48]
cmp rbx, rdx
jbe 0x40707a
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rax, [rbp + rsi*2]
cmp rax, rdx
ja 0x407089
cmp rax, rbx
jae 0x407098
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov word [rsp + 0x30], 0x62
test rbx, rbx
je 0x4070d5
mov rcx, rdx
sub rcx, rbx
sar rcx, 1
mov rax, qword [rsp + 0x50]
sub rax, rbx
sar rax, 1
cmp rcx, rax
jae 0x4070d5
mov word [rdx], 0x62
add rdx, 2
mov qword [rsp + 0x48], rdx
mov rbx, qword [rsp + 0x40]
jmp 0x407184
mov rsi, rdx
cmp rbx, rdx
jbe 0x4070ec
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rsi
test rbx, rbx
je 0x40711d
mov rax, rdx
sub rax, rbx
sar rax, 1
je 0x40711d
cmp rbx, rdx
jbe 0x407115
call fcn.0045a5e0
sub rsi, rbx
sar rsi, 1
jmp 0x407120
mov rsi, r13
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
lea r9, [rsp + 0x30]
mov r8d, 1
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x38]
call fcn.0040b1e0
mov rbx, qword [rsp + 0x40]
mov rbp, rbx
mov rdx, qword [rsp + 0x48]
cmp rbx, rdx
jbe 0x407166
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rax, [rbp + rsi*2]
cmp rax, rdx
ja 0x407175
cmp rax, rbx
jae 0x407184
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov word [rsp + 0x30], 0x64
test rbx, rbx
je 0x4071c1
mov rcx, rdx
sub rcx, rbx
sar rcx, 1
mov rax, qword [rsp + 0x50]
sub rax, rbx
sar rax, 1
cmp rcx, rax
jae 0x4071c1
mov word [rdx], 0x64
add rdx, 2
mov qword [rsp + 0x48], rdx
mov rbx, qword [rsp + 0x40]
jmp 0x407270
mov rsi, rdx
cmp rbx, rdx
jbe 0x4071d8
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rsi
test rbx, rbx
je 0x407209
mov rax, rdx
sub rax, rbx
sar rax, 1
je 0x407209
cmp rbx, rdx
jbe 0x407201
call fcn.0045a5e0
sub rsi, rbx
sar rsi, 1
jmp 0x40720c
mov rsi, r13
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
lea r9, [rsp + 0x30]
mov r8d, 1
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x38]
call fcn.0040b1e0
mov rbx, qword [rsp + 0x40]
mov rbp, rbx
mov rdx, qword [rsp + 0x48]
cmp rbx, rdx
jbe 0x407252
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rax, [rbp + rsi*2]
cmp rax, rdx
ja 0x407261
cmp rax, rbx
jae 0x407270
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov word [rsp + 0x30], 0x63
test rbx, rbx
je 0x4072ad
mov rcx, rdx
sub rcx, rbx
sar rcx, 1
mov rax, qword [rsp + 0x50]
sub rax, rbx
sar rax, 1
cmp rcx, rax
jae 0x4072ad
mov word [rdx], 0x63
add rdx, 2
mov qword [rsp + 0x48], rdx
mov rbx, qword [rsp + 0x40]
jmp 0x40735c
mov rsi, rdx
cmp rbx, rdx
jbe 0x4072c4
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rsi
test rbx, rbx
je 0x4072f5
mov rax, rdx
sub rax, rbx
sar rax, 1
je 0x4072f5
cmp rbx, rdx
jbe 0x4072ed
call fcn.0045a5e0
sub rsi, rbx
sar rsi, 1
jmp 0x4072f8
mov rsi, r13
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
lea r9, [rsp + 0x30]
mov r8d, 1
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x38]
call fcn.0040b1e0
mov rbx, qword [rsp + 0x40]
mov rbp, rbx
mov rdx, qword [rsp + 0x48]
cmp rbx, rdx
jbe 0x40733e
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rax, [rbp + rsi*2]
cmp rax, rdx
ja 0x40734d
cmp rax, rbx
jae 0x40735c
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov word [rsp + 0x30], 0x59
test rbx, rbx
je 0x407399
mov rcx, rdx
sub rcx, rbx
sar rcx, 1
mov rax, qword [rsp + 0x50]
sub rax, rbx
sar rax, 1
cmp rcx, rax
jae 0x407399
mov word [rdx], 0x59
add rdx, 2
mov qword [rsp + 0x48], rdx
mov rbx, qword [rsp + 0x40]
jmp 0x407448
mov rsi, rdx
cmp rbx, rdx
jbe 0x4073b0
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rsi
test rbx, rbx
je 0x4073e1
mov rax, rdx
sub rax, rbx
sar rax, 1
je 0x4073e1
cmp rbx, rdx
jbe 0x4073d9
call fcn.0045a5e0
sub rsi, rbx
sar rsi, 1
jmp 0x4073e4
mov rsi, r13
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
lea r9, [rsp + 0x30]
mov r8d, 1
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x38]
call fcn.0040b1e0
mov rbx, qword [rsp + 0x40]
mov rbp, rbx
mov rdx, qword [rsp + 0x48]
cmp rbx, rdx
jbe 0x40742a
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rax, [rbp + rsi*2]
cmp rax, rdx
ja 0x407439
cmp rax, rbx
jae 0x407448
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov word [rsp + 0x30], 0x71
test rbx, rbx
je 0x407485
mov rcx, rdx
sub rcx, rbx
sar rcx, 1
mov rax, qword [rsp + 0x50]
sub rax, rbx
sar rax, 1
cmp rcx, rax
jae 0x407485
mov word [rdx], 0x71
add rdx, 2
mov qword [rsp + 0x48], rdx
mov rbx, qword [rsp + 0x40]
jmp 0x407534
mov rsi, rdx
cmp rbx, rdx
jbe 0x40749c
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rsi
test rbx, rbx
je 0x4074cd
mov rax, rdx
sub rax, rbx
sar rax, 1
je 0x4074cd
cmp rbx, rdx
jbe 0x4074c5
call fcn.0045a5e0
sub rsi, rbx
sar rsi, 1
jmp 0x4074d0
mov rsi, r13
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
lea r9, [rsp + 0x30]
mov r8d, 1
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x38]
call fcn.0040b1e0
mov rbx, qword [rsp + 0x40]
mov rbp, rbx
mov rdx, qword [rsp + 0x48]
cmp rbx, rdx
jbe 0x407516
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rax, [rbp + rsi*2]
cmp rax, rdx
ja 0x407525
cmp rax, rbx
jae 0x407534
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov word [rsp + 0x30], 0x78
test rbx, rbx
je 0x40756c
mov rcx, rdx
sub rcx, rbx
sar rcx, 1
mov rax, qword [rsp + 0x50]
sub rax, rbx
sar rax, 1
cmp rcx, rax
jae 0x40756c
mov word [rdx], 0x78
lea rax, [rdx + 2]
mov qword [rsp + 0x48], rax
jmp 0x407610
mov rsi, rdx
cmp rbx, rdx
jbe 0x407583
call fcn.0045a5e0
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rsi
test rbx, rbx
je 0x4075b4
mov rax, rdx
sub rax, rbx
sar rax, 1
je 0x4075b4
cmp rbx, rdx
jbe 0x4075ac
call fcn.0045a5e0
sub rsi, rbx
sar rsi, 1
jmp 0x4075b7
mov rsi, r13
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
lea r9, [rsp + 0x30]
mov r8d, 1
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x38]
call fcn.0040b1e0
mov r11, qword [rsp + 0x40]
mov rbx, r11
mov rax, qword [rsp + 0x48]
cmp r11, rax
jbe 0x4075fd
call fcn.0045a5e0
mov rax, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
lea rcx, [rbx + rsi*2]
cmp rcx, rax
ja 0x40760b
cmp rcx, r11
jae 0x407610
call fcn.0045a5e0
mov word [rsp + 0x30], 0x54
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x6c
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x4d
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.0040a7a0
mov word [rsp + 0x190], 0x4d
mov word [rsp + 0x192], 0x7a
mov word [rsp + 0x194], 0x70
mov word [rsp + 0x196], 0x6f
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x60]
call fcn.0040a5e0
mov r9d, 4
lea r8, [rsp + 0x190]
mov rdx, rax
lea rcx, [rsp + 0x168]
call fcn.00401270
nop
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xb8], r13
mov word [rsp + 0x30], 0x48
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xa0]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x4e
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xa0]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x4d
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xa0]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x54
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xa0]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x4c
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xa0]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x5a
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xa0]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x59
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xa0]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x45
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xa0]
call fcn.0040a7a0
mov word [rsp + 0x190], 0x70
mov word [rsp + 0x192], 0x5a
mov word [rsp + 0x194], 0x48
mov word [rsp + 0x196], 0x61
lea r9, [0x00487a40]
mov edx, 1
xor ecx, ecx
mov r8d, edx
call qword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x60]
call fcn.0040a5e0
mov r9d, 4
lea r8, [rsp + 0x190]
mov rdx, rax
lea rcx, [rsp + 0x130]
call fcn.00401270
mov rbx, rax
mov qword [rsp + 0x128], SafeArrayGetDim
mov qword [rsp + 0x120], r13
mov byte [rsp + 0x110], 0
mov r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x168]
lea rcx, [rsp + 0x108]
call fcn.0040aa70
cmp qword [rbx + 0x20], 0x10
jb 0x407842
mov rbx, qword [rbx + 8]
jmp 0x407846
add rbx, 8
lea rdx, [rsp + 0x108]
mov rcx, r12
call fcn.00401b00
lea rcx, [rsp + 0xc0]
mov qword [rsp + 0x20], rcx
mov r9d, 0xf003f
xor r8d, r8d
mov rdx, rbx
mov rcx, 0xffffffff80000001
call rax
nop
cmp qword [rsp + 0x150], 0x10
jb 0x407891
mov rcx, qword [rsp + 0x138]
call fcn.0040cb00
cmp qword [rsp + 0xc0], 0
jne 0x40793b
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x4078b2
call fcn.0040cb00
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xb8], r13
cmp qword [rsp + 0x188], 0x10
jb 0x4078e2
mov rcx, qword [rsp + 0x170]
call fcn.0040cb00
mov qword [rsp + 0x188], SafeArrayGetDim
mov qword [rsp + 0x180], r13
mov byte [rsp + 0x170], 0
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x40790d
call fcn.0040cb00
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x40792a
call fcn.0040cb00
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
jmp 0x40818c
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], r13
mov word [rsp + 0x30], 0x44
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x80]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x7a
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x80]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x72
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x80]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x5a
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x80]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x70
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x80]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x78
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x80]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x48
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x80]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x76
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x80]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x77
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x80]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x62
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x80]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x70
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x80]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x49
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x80]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x6a
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x80]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x56
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x80]
call fcn.0040a7a0
mov word [rsp + 0x190], 0x6d
mov word [rsp + 0x192], 0x56
mov word [rsp + 0x194], 0x4c
mov word [rsp + 0x196], 0x48
mov word [rsp + 0x198], 0x4c
mov word [rsp + 0x19a], 0x65
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x60]
call fcn.0040a5e0
mov r9d, 6
lea r8, [rsp + 0x190]
mov rdx, rax
lea rcx, [rsp + 0x130]
call fcn.00401270
nop
mov r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x168]
call fcn.0040aa70
nop
cmp qword [rsp + 0x150], 0x10
jb 0x407b51
mov rcx, qword [rsp + 0x138]
call fcn.0040cb00
mov qword [rsp + 0xf0], r13
mov qword [rsp + 0xf8], r13
mov qword [rsp + 0x100], r13
mov word [rsp + 0x30], 0x69
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe8]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x61
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe8]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x4c
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe8]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x74
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe8]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x66
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe8]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x67
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xe8]
call fcn.0040a7a0
mov word [rsp + 0x190], 0x58
mov word [rsp + 0x192], 0x4c
mov word [rsp + 0x194], 0x49
mov word [rsp + 0x196], 0x74
mov word [rsp + 0x198], 0x4d
mov word [rsp + 0x19a], 0x67
lea r9, [0x00487a40]
mov edx, 1
xor ecx, ecx
mov r8d, edx
call qword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0x60]
call fcn.0040a5e0
mov r9d, 6
lea r8, [rsp + 0x190]
mov rdx, rax
lea rcx, [rsp + 0x130]
call fcn.00401270
mov rsi, rax
mov qword [rsp + 0x128], SafeArrayGetDim
mov qword [rsp + 0x120], r13
mov byte [rsp + 0x110], 0
mov r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x168]
lea rcx, [rsp + 0x108]
call fcn.0040aa70
mov rcx, qword [rdi + 8]
test rcx, rcx
jne 0x407cce
mov rbx, r13
jmp 0x407cd5
mov rbx, qword [rdi + 0x10]
sub rbx, rcx
test rcx, rcx
je 0x407ce3
mov rax, qword [rdi + 0x10]
sub rax, rcx
jne 0x407ce8
call fcn.0045a5e0
mov rbp, qword [rdi + 8]
cmp qword [rsi + 0x20], 0x10
jb 0x407cf9
mov rsi, qword [rsi + 8]
jmp 0x407cfd
add rsi, 8
lea rdx, [rsp + 0x108]
mov rcx, r12
call fcn.00401b00
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbp
mov r9d, 3
xor r8d, r8d
mov rdx, rsi
mov rcx, qword [rsp + 0xc0]
call rax
test eax, eax
setne bl
cmp qword [rsp + 0x150], 0x10
jb 0x407d49
mov rcx, qword [rsp + 0x138]
call fcn.0040cb00
test bl, bl
je 0x407e40
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x407d63
call fcn.0040cb00
mov qword [rsp + 0xf0], r13
mov qword [rsp + 0xf8], r13
mov qword [rsp + 0x100], r13
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x407d8d
call fcn.0040cb00
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], r13
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x407db7
call fcn.0040cb00
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xb8], r13
cmp qword [rsp + 0x188], 0x10
jb 0x407de7
mov rcx, qword [rsp + 0x170]
call fcn.0040cb00
mov qword [rsp + 0x188], SafeArrayGetDim
mov qword [rsp + 0x180], r13
mov byte [rsp + 0x170], 0
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x407e12
call fcn.0040cb00
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x407e2f
call fcn.0040cb00
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
jmp 0x40818c
mov qword [rsp + 0xd0], r13
mov qword [rsp + 0xd8], r13
mov qword [rsp + 0xe0], r13
mov word [rsp + 0x30], 0x49
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xc8]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x70
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xc8]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x6c
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xc8]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x42
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xc8]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x69
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xc8]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x70
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xc8]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x6a
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xc8]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x70
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xc8]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x50
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xc8]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x64
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xc8]
call fcn.0040a7a0
mov word [rsp + 0x30], 0x76
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xc8]
call fcn.0040a7a0
mov word [rsp + 0x190], 0x72
mov word [rsp + 0x192], 0x4c
mov word [rsp + 0x194], 0x46
mov word [rsp + 0x196], 0x5a
mov word [rsp + 0x198], 0x58
mov word [rsp + 0x19a], 0x42
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x60]
call fcn.0040a5e0
mov r9d, 6
lea r8, [rsp + 0x190]
mov rdx, rax
lea rcx, [rsp + 0x130]
call fcn.00401270
nop
mov r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x168]
call fcn.0040aa70
nop
cmp qword [rsp + 0x150], 0x10
jb 0x40800b
mov rcx, qword [rsp + 0x138]
call fcn.0040cb00
lea r9, [0x00487a40]
mov edx, 1
xor ecx, ecx
mov r8d, edx
call qword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
mov qword [rsp + 0x128], SafeArrayGetDim
mov qword [rsp + 0x120], r13
mov byte [rsp + 0x110], 0
mov r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x168]
lea rcx, [rsp + 0x108]
call fcn.0040aa70
lea rdx, [rsp + 0x108]
mov rcx, r12
call fcn.00401b00
mov rcx, qword [rsp + 0xc0]
call rax
nop
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x40808a
call fcn.0040cb00
mov qword [rsp + 0xd0], r13
mov qword [rsp + 0xd8], r13
mov qword [rsp + 0xe0], r13
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x4080b4
call fcn.0040cb00
mov qword [rsp + 0xf0], r13
mov qword [rsp + 0xf8], r13
mov qword [rsp + 0x100], r13
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x4080de
call fcn.0040cb00
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], r13
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x408108
call fcn.0040cb00
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xb8], r13
cmp qword [rsp + 0x188], 0x10
jb 0x408138
mov rcx, qword [rsp + 0x170]
call fcn.0040cb00
mov qword [rsp + 0x188], SafeArrayGetDim
mov qword [rsp + 0x180], r13
mov byte [rsp + 0x170], 0
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x408163
call fcn.0040cb00
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x408180
call fcn.0040cb00
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.00459ff0
mov rbx, qword [rsp + 0x1f0]
mov rbp, qword [rsp + 0x1f8]
mov rsi, qword [rsp + 0x1d0]
mov rdi, qword [rsp + 0x1c8]
mov r12, qword [rsp + 0x1c0]
mov r13, qword [rsp + 0x1b8]
add rsp, 0x1d8
ret