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

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x188]
sub rsp, 0x280
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdi
mov rax, qword [0x140176220]
xor rax, rsp
mov qword [rbp + 0x170], rax
test cl, cl
je 0x140124b4d
call fcn.140021170
mov rcx, rax
xor edi, edi
test rax, rax
setne dil
test edi, edi
jne 0x14012499c
mov ecx, 0x80004005
call fcn.140020760
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x5c], 0x104
mov dword [rbp - 0x26], 0x6e616d6d
mov word [rbp - 0x2f], 0x5c6c
mov dword [rbp - 0x2c], 0x5c6e6570
mov word [rbp - 0x22], 0x64
mov dword [rbp - 0x38], 0x70747468
mov dword [rbp - 0x33], 0x6c656873
mov word [rbp - 0x28], 0x6f63
mov byte [rbp - 0x2d], 0x6f
mov byte [rbp - 0x34], 0x5c
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x104
or eax, ecx
jge 0x140124a19
mov edx, 0x104
lea rcx, [rsp + 0x50]
call fcn.1400222e0
mov rbx, qword [rsp + 0x50]
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x30]
lea r8, [0x1401444f8]
lea rdx, [rbp - 0x38]
mov rcx, 0xffffffff80000000
call fcn.14013f150
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.140059358
test eax, eax
js 0x140124b42
cmp eax, dword [rbx - 0xc]
jg 0x140124b42
mov dword [rbx - 0x10], eax
cdqe
mov byte [rax + rbx], 0
lea rcx, [rsp + 0x50]
call fcn.140022130
mov dword [rbp - 0x78], 0x45524946
mov byte [rbp - 0x74], 0
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0x10], 0
jl 0x140124aa8
lea rdx, [rbp - 0x78]
mov rcx, rbx
call fcn.140059a9c
test rax, rax
je 0x140124aa8
cmp eax, ebx
js 0x140124aa8
lea rdx, [rbx - 0x18]
jmp 0x140125010
mov dword [rbp - 0x46], 0x454d4f52
mov byte [rbp - 0x42], 0
mov word [rbp - 0x48], 0x4843
cmp dword [rbx - 0x10], 0
jl 0x140124af3
lea rdx, [rbp - 0x48]
mov rcx, rbx
call fcn.140059a9c
test rax, rax
je 0x140124af3
cmp eax, ebx
js 0x140124af3
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140124ae9
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
mov eax, 1
jmp 0x140125025
mov word [rsp + 0x45], 0x45
mov byte [rsp + 0x44], 0x49
cmp dword [rbx - 0x10], 0
jl 0x140124b39
lea rdx, [rsp + 0x44]
mov rcx, rbx
call fcn.140059a9c
test rax, rax
je 0x140124b39
cmp eax, ebx
js 0x140124b39
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140124b2f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, 3
jmp 0x140125025
lea rdx, [rbx - 0x18]
jmp 0x140124f87
mov ecx, 0x80070057
call fcn.140020760
nop
call fcn.140021170
mov rdx, rax
xor edi, edi
mov ecx, edi
test rax, rax
setne cl
test ecx, ecx
jne 0x140124b6e
mov ecx, 0x80004005
call fcn.140020760
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x58], 0x104
mov dword [rbp + 0x56], 0x6f684372
mov dword [rbp + 0x22], 0x6e69575c
mov word [rbp + 0x1d], 0x736f
mov word [rbp + 0x3f], 0x6c72
mov word [rbp + 0x2e], 0x6c6c
mov word [rbp + 0x10], 0x6f53
mov word [rbp + 0x1a], 0x6369
mov dword [rbp + 0x26], 0x73776f64
mov dword [rbp + 0x13], 0x72617774
mov dword [rbp + 0x3a], 0x5c736e6f
mov word [rbp + 0x32], 0x7373
mov word [rbp + 0x2b], 0x6853
mov dword [rbp + 0x5a], 0x656369
mov dword [rbp + 0x41], 0x6f737341
mov dword [rbp + 0x4e], 0x70747468
mov dword [rbp + 0x45], 0x74616963
mov dword [rbp + 0x49], 0x736e6f69
mov word [rbp + 0x35], 0x6963
mov byte [rbp + 0x1c], 0x72
mov word [rbp + 0x1f], 0x666f
mov word [rbp + 0x38], 0x6974
mov word [rbp + 0x30], 0x415c
mov word [rbp + 0x17], 0x5c65
mov dword [rbp + 0x52], 0x6573555c
mov byte [rbp + 0x21], 0x74
mov byte [rbp + 0x34], 0x6f
mov byte [rbp + 0x2a], 0x5c
mov byte [rbp + 0x3e], 0x55
mov byte [rbp + 0x2d], 0x65
mov byte [rbp + 0x12], 0x66
mov byte [rbp + 0x4d], 0x5c
mov byte [rbp + 0x37], 0x61
mov byte [rbp + 0x19], 0x4d
mov byte [rbp + 0x60], 0
xor edx, edx
mov r8d, 0x103
lea rcx, [rbp + 0x61]
call fcn.140057e20
mov edx, 0x104
lea rcx, [rbp + 0x60]
call fcn.140006980
call fcn.140021170
mov rcx, rax
test rax, rax
setne dil
test edi, edi
jne 0x140124c8e
mov ecx, 0x80004005
call fcn.140020760
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
mov word [rbp - 0x58], 0x7325
mov word [rbp - 0x55], 0x7325
mov byte [rbp - 0x53], 0
mov byte [rbp - 0x56], 0x5c
lea r9, [rbp + 0x10]
lea r8, [rbp + 0x60]
lea rdx, [rbp - 0x58]
lea rcx, [rsp + 0x60]
call fcn.140020c90
mov word [rbp - 0x4d], 0x6967
mov word [rbp - 0x50], 0x7250
mov word [rbp - 0x4b], 0x64
mov byte [rbp - 0x4e], 0x6f
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x104
or eax, ecx
jge 0x140124d05
mov edx, 0x104
lea rcx, [rsp + 0x38]
call fcn.1400222e0
mov rbx, qword [rsp + 0x38]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x48]
lea r8, [rbp - 0x50]
mov rdi, qword [rsp + 0x60]
mov rdx, rdi
mov rcx, 0xffffffff80000003
call fcn.14013f150
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.140059358
test eax, eax
js 0x140125005
cmp eax, dword [rbx - 0xc]
jg 0x140125005
mov dword [rbx - 0x10], eax
cdqe
mov byte [rax + rbx], 0
lea rcx, [rsp + 0x38]
call fcn.140022130
mov word [rsp + 0x70], 0x4946
mov word [rsp + 0x73], 0x45
mov byte [rsp + 0x72], 0x52
mov rbx, qword [rsp + 0x38]
cmp dword [rbx - 0x10], 0
jl 0x140124db8
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140059a9c
test rax, rax
je 0x140124db8
cmp eax, ebx
js 0x140124db8
lea rdx, [rdi - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140124daa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
jmp 0x140125010
mov word [rbp - 0x3b], 0x45
mov dword [rbp - 0x40], 0x4f524843
mov byte [rbp - 0x3c], 0x4d
cmp dword [rbx - 0x10], 0
jl 0x140124e20
lea rdx, [rbp - 0x40]
mov rcx, rbx
call fcn.140059a9c
test rax, rax
je 0x140124e20
cmp eax, ebx
js 0x140124e20
lea rdx, [rdi - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140124df9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140124ae9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, 1
jmp 0x140125025
mov word [rsp + 0x41], 0x45
mov byte [rsp + 0x40], 0x49
cmp dword [rbx - 0x10], 0
jl 0x140124e84
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.140059a9c
test rax, rax
je 0x140124e84
cmp eax, ebx
js 0x140124e84
lea rdx, [rdi - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140124e5d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140124b2f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, 3
jmp 0x140125025
mov word [rbp - 0xb], 0x4630
mov dword [rbp - 5], 0x50414550
mov word [rbp + 2], 0x5638
mov word [rbp - 0x16], 0x454d
mov word [rbp - 0x20], 0x5041
mov word [rbp - 8], 0x4151
mov word [rbp - 0xe], 0x334e
mov dword [rbp - 0x1b], 0x56454630
mov dword [rbp - 0x13], 0x36535950
mov byte [rbp - 6], 0x37
mov byte [rbp - 9], 0x42
mov word [rbp - 0x1d], 0x5158
mov word [rbp - 1], 0x4b59
mov byte [rbp - 0xc], 0x45
mov byte [rbp - 0x17], 0x5a
mov byte [rbp - 0x14], 0x32
mov byte [rbp + 1], 0x52
mov byte [rbp + 4], 0
mov byte [rbp - 0xf], 0x32
mov byte [rbp - 0x1e], 0x50
cmp dword [rbx - 0x10], 0
jl 0x140124f40
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.140059a9c
test rax, rax
je 0x140124f40
cmp eax, ebx
js 0x140124f40
lea rdx, [rdi - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140124f1d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140124f36
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, 4
jmp 0x140125025
mov dword [rsp + 0x78], 0x45474445
mov byte [rsp + 0x7c], 0
cmp dword [rbx - 0x10], 0
jl 0x140124f69
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.140059a9c
test rax, rax
je 0x140124f69
cmp eax, ebx
jns 0x140124f08
lea rdx, [rdi - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140124f7e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140124f97
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov word [rbp - 0x7d], 0x70
mov word [rbp - 0x80], 0x7468
mov byte [rbp - 0x7e], 0x74
lea rcx, [rbp - 0x80]
call fcn.14013e2c0
test eax, eax
jne 0x140125025
mov word [rbp - 0x64], 0x73
mov word [rbp - 0x67], 0x7474
mov byte [rbp - 0x68], 0x68
mov byte [rbp - 0x65], 0x70
lea rcx, [rbp - 0x68]
call fcn.14013e2c0
test eax, eax
jne 0x140125025
mov dword [rbp - 0x6f], 0x6d7468
mov byte [rbp - 0x70], 0x2e
lea rcx, [rbp - 0x70]
call fcn.14013e2c0
test eax, eax
jne 0x140125025
mov dword [rbp - 0x60], 0x6d74682e
mov word [rbp - 0x5c], 0x6c
lea rcx, [rbp - 0x60]
call fcn.14013e2c0
jmp 0x140125025
mov ecx, 0x80070057
call fcn.140020760
nop
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140125020
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, 2
mov rcx, qword [rbp + 0x170]
xor rcx, rsp
call fcn.140055550
lea r11, [rsp + 0x280]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret