Function at 0x1004052f0
Capabilities:
Terminate process

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
add dword [rcx + 0x1c8], 1
movzx eax, byte [rdx + 0x1eb]
shl eax, 0x18
mov rbx, rdx
movzx edx, byte [rdx + 0x1e8]
mov rsi, rcx
mov dword [rbx + 0x220], 4
lea ecx, [rax + rdx + 0x112410d]
movzx eax, byte [rbx + 0x1ea]
shl eax, 0x10
lea edx, [rcx + rax]
movzx eax, byte [rbx + 0x1e9]
mov ecx, 0x9f49bac6
shl eax, 8
add eax, edx
mov edx, ecx
xor eax, 0x7f76d
mov ecx, eax
sub edx, eax
shl ecx, 8
xor ecx, edx
mov edx, 0xfeedbef3
sub edx, eax
sub eax, ecx
sub edx, ecx
mov r8d, edx
mov edx, ecx
shr edx, 0xd
xor edx, r8d
mov r8d, edx
sub eax, edx
sub ecx, edx
shr r8d, 0xc
xor eax, r8d
sub ecx, eax
sub edx, eax
mov r8d, ecx
mov ecx, eax
shl ecx, 0x10
xor ecx, r8d
sub edx, ecx
sub eax, ecx
mov r8d, edx
mov edx, ecx
shr edx, 5
xor edx, r8d
mov r8d, edx
sub eax, edx
sub ecx, edx
shr r8d, 3
xor eax, r8d
mov edi, eax
sub ecx, eax
shl edi, 0xa
xor ecx, edi
sub edx, eax
lea rax, [rbx + 0x1e8]
sub edx, ecx
shr ecx, 0xf
mov qword [rbx + 0x218], rax
mov edi, ecx
xor edi, edx
mov dword [rbx + 0x224], edi
mov rax, qword [rsi + 0x1b8]
test rax, rax
je 0x100405620
mov rax, qword [rax + 0x1f0]
lea rbp, [rbx + 0x1f0]
mov qword [rbx + 0x200], 0
mov qword [rbx + 0x1f0], rax
mov rax, qword [rsi + 0x1b8]
mov rdx, qword [rax + 0x1f0]
mov rax, qword [rdx + 0x18]
sub rax, qword [rdx + 0x20]
mov qword [rbx + 0x1f8], rax
mov rax, qword [rsi + 0x1b8]
mov rax, qword [rax + 0x1f0]
mov rax, qword [rax + 0x18]
mov qword [rax + 0x10], rbx
mov rax, qword [rsi + 0x1b8]
mov rax, qword [rax + 0x1f0]
mov qword [rax + 0x18], rbp
mov rax, qword [rsi + 0x1b8]
mov rax, qword [rax + 0x1f0]
add dword [rax + 0x10], 1
mov rax, qword [rsi + 0x1b8]
mov rdx, qword [rax + 0x1f0]
mov eax, dword [rdx + 8]
sub eax, 1
and eax, edi
shl rax, 4
add rax, qword [rdx]
mov rdx, qword [rax]
add dword [rax + 8], 1
mov qword [rbx + 0x208], 0
mov qword [rbx + 0x210], rdx
mov rdx, qword [rax]
test rdx, rdx
je 0x100405498
mov qword [rdx + 0x18], rbp
mov edx, dword [rax + 0xc]
mov qword [rax], rbp
lea edx, [rdx + rdx*4 + 5]
add edx, edx
cmp dword [rax + 8], edx
jb 0x1004054b7
mov rbp, qword [rbx + 0x1f0]
mov edi, dword [rbp + 0x34]
test edi, edi
je 0x1004054c8
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov ecx, dword [rbp + 8]
mov edx, 1
shl rcx, 5
call sub.cygwin1.dll_calloc
mov rsi, rax
test rax, rax
je 0x1004056c2
mov edx, dword [rbp + 8]
mov eax, dword [rbp + 0x10]
mov ecx, dword [rbp + 0xc]
lea edx, [rdx + rdx - 1]
test edx, eax
setne dl
add ecx, 1
movzx edx, dl
shr eax, cl
add eax, edx
mov dword [rbp + 0x28], eax
mov rax, qword [rbx + 0x1f0]
mov dword [rax + 0x2c], 0
mov rdx, qword [rbx + 0x1f0]
mov eax, dword [rdx + 8]
test eax, eax
je 0x1004055ba
xor r10d, r10d
nop word [rax + rax]
mov ecx, r10d
shl rcx, 4
add rcx, qword [rdx]
mov r8, qword [rcx]
test r8, r8
jne 0x10040554b
jmp 0x1004055ad
mov r8, r9
lea ecx, [rax + rax - 1]
and ecx, dword [r8 + 0x34]
mov r9, qword [r8 + 0x20]
shl rcx, 4
add rcx, rsi
mov eax, dword [rcx + 8]
add eax, 1
mov dword [rcx + 8], eax
cmp eax, dword [rdx + 0x28]
jbe 0x100405583
add dword [rdx + 0x2c], 1
mov r11, qword [rbx + 0x1f0]
xor edx, edx
mov eax, dword [rcx + 8]
div dword [r11 + 0x28]
mov dword [rcx + 0xc], eax
mov qword [r8 + 0x18], 0
mov rax, qword [rcx]
mov qword [r8 + 0x20], rax
test rax, rax
je 0x10040559b
mov qword [rax + 0x18], r8
mov rdx, qword [rbx + 0x1f0]
mov qword [rcx], r8
mov eax, dword [rdx + 8]
test r9, r9
jne 0x100405548
add r10d, 1
cmp r10d, eax
jb 0x100405530
mov rcx, qword [rdx]
call fcn.10043bf30
mov rax, qword [rbx + 0x1f0]
shl dword [rax + 8], 1
mov rax, qword [rbx + 0x1f0]
add dword [rax + 0xc], 1
mov rax, qword [rbx + 0x1f0]
mov qword [rax], rsi
mov rax, qword [rbx + 0x1f0]
mov edx, dword [rax + 0x10]
shr edx, 1
cmp dword [rax + 0x2c], edx
jbe 0x1004055f8
mov edi, dword [rax + 0x30]
add edi, 1
mov dword [rax + 0x30], edi
mov rax, qword [rbx + 0x1f0]
cmp dword [rax + 0x30], 1
jbe 0x1004054b7
mov dword [rax + 0x34], 1
jmp 0x1004054b7
mov qword [rbx + 0x200], 0
mov ecx, 0x40
mov qword [rbx + 0x1f8], 0
call sub.cygwin1.dll_malloc
mov qword [rbx + 0x1f0], rax
mov r12, rax
test rax, rax
je 0x1004056c2
lea rbp, [rbx + 0x1f0]
mov qword [rax + 0x10], 0
mov edx, 1
mov ecx, 0x200
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0
mov qword [rax + 0x38], 0
mov qword [rax + 0x18], rbp
movabs rax, 0x500000020
mov qword [r12 + 8], rax
mov qword [r12 + 0x20], 0x1f0
call sub.cygwin1.dll_calloc
mov dword [r12 + 0x38], 0xa0111fe1
mov qword [r12], rax
test rax, rax
je 0x1004056c2
mov qword [rsi + 0x1b8], rbx
mov rax, rbx
jmp 0x10040544b
or ecx, 0xffffffff
call sub.cygwin1.dll_exit
nop
nop dword [rax + rax]