Function at 0x180049880
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rdi
push r13
push r14
mov eax, 0x22a8
call fcn.180062400
sub rsp, rax
lea ebx, [r9 + 0x4ed]
mov r13, rdx
mov dword [rsp + 0x22e8], ebx
mov edi, r9d
mov r14, r8
mov rdx, rcx
cmp r9d, ebx
jae 0x180049c19
mov qword [rsp + 0x22d8], rbp
mov ebp, dword [rsp + 0x22e8]
mov qword [rsp + 0x22a0], rsi
mov qword [rsp + 0x2298], r12
mov r12, qword [rsp + 0x50]
mov qword [rsp + 0x2290], r15
mov r15, qword [rsp + 0x22f0]
lea r8, [0x180000000]
cmp edi, 0x12c
ja 0x180049b44
je 0x180049a20
lea eax, [rdi - 0x18]
cmp eax, 0xf0
ja case.0x18004992a.30
movzx eax, byte [r8 + rax + 0x49c48]
mov ecx, dword [r8 + rax*4 + 0x49c2c]
add rcx, r8
jmp rcx
mov r9, r15
lea r8, [rsp + 0x60]
mov edx, 0x7e
mov rcx, r13
call fcn.1800117d0
jmp case.0x18004992a.30
mov r8d, 0x10e
lea rdx, str.ssleay32.dll
mov ecx, 0x4e
call fcn.180012b30
mov r12, rax
jmp case.0x18004992a.30
mov ebx, 0xaf
nop word [rax + rax]
mov eax, ebx
sub eax, 0xaf
je 0x1800499b1
cmp eax, 0xf
jne 0x1800499cf
mov rax, qword [rsp + 0x30]
mov r12, qword [rsp + 0x2298]
mov rsi, qword [rsp + 0x22a0]
mov rbp, qword [rsp + 0x22d8]
mov r15, qword [rsp + 0x2290]
add rsp, 0x22a8
pop r14
pop r13
pop rdi
pop rbx
ret
mov r9, r14
lea r8, [rsp + 0x60]
mov ecx, 0xb5
call fcn.18004b560
mov rdx, qword [rsp + 0x22d0]
mov dword [rsp + 0x30], eax
add ebx, 0xf
cmp ebx, 0xcd
jb 0x180049970
mov ebx, dword [rsp + 0x22e8]
jmp 0x180049b71
mov dword [rsp + 0x38], 0x14
jmp case.0x18004992a.30
mov qword [0x180094fa8], r13
jmp case.0x18004992a.30
xor edx, edx
lea rcx, [rsp + 0x60]
mov r8d, 0x228
call fcn.180063be0
jmp case.0x18004992a.30
mov esi, 0x8c
nop word [rax + rax]
cmp esi, 0x8c
je 0x180049af9
cmp esi, 0x71c
je 0x180049ae1
cmp esi, 0xdac
je 0x180049ac3
cmp esi, 0x143c
jne 0x180049b2d
mov rcx, qword [r14 + 0x18]
mov rdx, qword [r14 + 0x10]
mov rax, rcx
sub rax, rdx
movsxd rbx, ebp
cmp rbx, rax
ja 0x180049aa6
lea rax, [rdx + rbx]
mov qword [r14 + 0x10], rax
mov rax, r14
cmp rcx, 0x10
jb 0x180049a86
mov rax, qword [r14]
lea rdi, [rax + rdx]
mov r8, rbx
mov rcx, rdi
lea rdx, [rsp + 0x290]
call fcn.1800637d0
mov byte [rdi + rbx], 0
jmp 0x180049b2d
lea r9, [rsp + 0x290]
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.180001ec0
jmp 0x180049b2d
test ebp, ebp
jg 0x180049b2d
mov ebx, dword [rsp + 0x22e8]
mov rax, qword [r14 + 0x10]
mov edi, 0x18d
mov qword [rsp + 0x30], rax
jmp case.0x18004992a.30
mov r8d, 0x2000
lea rdx, [rsp + 0x290]
mov rcx, r15
call r12
mov ebp, eax
jmp 0x180049b2d
mov eax, dword [rsp + 0x38]
lea r8, [rsp + 0x40]
xor r9d, r9d
mov dword [rsp + 0x40], eax
mov rax, qword [r13]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x20], 0
lea ecx, [r9 + 0x21]
call fcn.18003ad30
cmp al, 2
jne 0x180049ac7
add esi, 0x690
cmp esi, 0x1a40
jbe 0x180049a30
jmp 0x180049a20
cmp edi, 0x1ee
ja 0x180049bdc
je 0x18004997e
mov eax, edi
sub eax, 0x169
je 0x180049ba9
sub eax, 0x24
je 0x180049ace
cmp eax, 0x3d
jne case.0x18004992a.30
cmp qword [rsp + 0x48], 0
jne case.0x18004992a.30
mov eax, 0xa9
cmp eax, 0xa9
je 0x180049b96
cmp eax, 0x3c13
je 0x18004997e
jmp 0x180049b9b
mov byte [rsp + 0x30], 0
add eax, 0x3b6a
cmp eax, 0x76d4
jbe 0x180049b82
jmp case.0x18004992a.30
mov qword [rsp + 0x28], 0
lea r8, [0x18002fea0]
mov r9, r13
mov dword [rsp + 0x20], 0
xor edx, edx
mov qword [r13 + 0x80], r15
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsp + 0x48], rax
jmp case.0x18004992a.30
mov eax, edi
sub eax, 0x22b
je 0x180049bf0
cmp eax, 0x61
je 0x18004997e
jmp case.0x18004992a.30
mov rax, qword [rsp + 0x48]
xchg qword [0x180094fb0], rax
mov byte [rsp + 0x30], 1
add edi, 0x61
cmp edi, ebx
jae 0x18004997e
mov rdx, qword [rsp + 0x22d0]
jmp 0x1800498ef
mov rax, qword [rsp + 0x30]
add rsp, 0x22a8
pop r14
pop r13
pop rdi
pop rbx
ret