Function at 0x180050dc0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x468]
sub rsp, 0x568
xor r10d, r10d
lea eax, [rcx + 0xa]
mov r13, r9
mov r9d, dword [rbp + 0x4b0]
mov dword [rsp + 0x38], r9d
mov rdi, r8
mov r8d, dword [rbp + 0x4b0]
mov r15, rdx
mov dword [rsp + 0x34], r8d
lea r11d, [r10 + 0x6c]
mov r12d, ecx
cmp ecx, eax
jae 0x180051384
mov eax, dword [rbp + 0x4b0]
lea r14d, [rcx - 0x61]
mov ecx, dword [rbp + 0x4b0]
mov r10d, 0x32
mov r12d, dword [rbp + 0x4b0]
mov r11d, 0x6b63
mov ebx, dword [rsp + 0x54]
mov rsi, qword [rbp + 0x4d0]
mov dword [rsp + 0x30], eax
lea eax, [r10 - 0x28]
mov dword [rsp + 0x68], r14d
mov qword [rsp + 0x40], 0xa
mov dword [rsp + 0x3c], ecx
nop dword [rax]
lea rdx, [0x180000000]
cmp r14d, 0x15
ja case.default.0x180050e8c
mov ecx, dword [rdx + r14*4 + 0x517d8]
add rcx, rdx
jmp rcx
mov word [rsp + 0x79], 0x57
jmp case.0x180050e8c.7
mov r8d, 1
mov byte [rsp + 0x78], 0
lea rdx, [0x1800afc8e]
lea rcx, [rsp + 0x78]
call fcn.18007b500
mov byte [rsp + 0x79], 0
mov r8d, dword [rsp + 0x34]
mov r10d, 0x32
mov r9d, dword [rsp + 0x38]
mov r11d, 0x6b63
jmp case.0x180050e8c.7
mov rax, qword [r15]
xorps xmm0, xmm0
mov rcx, qword [rdi]
mov edx, dword [rax + 0x44]
imul edx, dword [rcx + 0x8c]
movups xmmword [rbp - 0x68], xmm0
movups xmmword [rbp - 0x58], xmm0
add edx, r9d
xor eax, eax
mov dword [rsp + 0x30], edx
mov qword [rbp - 0x80], rax
mov dword [rbp - 0x78], eax
mov word [rbp - 0x74], ax
mov qword [rbp - 0x48], rax
mov rax, qword [rsp + 0x40]
mov byte [rbp - 0x80], 0x42
jmp 0x180051359
cmp dword [rsi], 0
lea r14, [rbp + 0x1e0]
movdqa xmm0, xmmword [0x1800b1b30]
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmm1, xmm0
movdqa xmmword [rbp - 0x10], xmm0
movdqa xmmword [rbp], xmm0
movdqa xmmword [rbp + 0x10], xmm0
movdqa xmmword [rbp + 0x20], xmm0
movdqa xmmword [rbp + 0x30], xmm0
movdqa xmmword [rbp + 0x40], xmm0
movdqa xmmword [rbp + 0x50], xmm0
movdqa xmmword [rbp + 0x60], xmm0
movdqa xmmword [rbp + 0x70], xmm0
movdqa xmmword [rbp + 0x80], xmm0
movdqa xmmword [rbp + 0x90], xmm0
movdqa xmmword [rbp + 0xa0], xmm0
movdqa xmmword [rbp + 0xb0], xmm0
movdqa xmmword [rbp + 0xc0], xmm0
movdqa xmmword [rbp + 0xd0], xmm0
movdqa xmmword [rbp + 0xe0], xmm0
movdqa xmmword [rbp + 0xf0], xmm0
movdqa xmmword [rbp + 0x100], xmm0
movdqa xmmword [rbp + 0x110], xmm0
movdqa xmmword [rbp + 0x120], xmm0
movdqa xmmword [rbp + 0x130], xmm0
movdqa xmmword [rbp + 0x140], xmm0
movdqa xmmword [rbp + 0x150], xmm0
movdqa xmmword [rbp + 0x160], xmm0
movdqa xmmword [rbp + 0x170], xmm0
movdqa xmmword [rbp + 0x180], xmm0
movdqa xmmword [rbp + 0x190], xmm0
movdqa xmmword [rbp + 0x1a0], xmm0
movdqa xmmword [rbp + 0x1b0], xmm0
movdqa xmmword [rbp + 0x1c0], xmm0
movdqa xmmword [rbp + 0x1d0], xmm0
mov dword [rsp + 0x48], 0
jle 0x18005134b
mov rcx, qword [rbp + 0x4e8]
mov qword [rsp + 0x58], rcx
nop dword [rax]
mov eax, 0xb1
mov dword [rbp - 0x6c], eax
nop dword [rax + rax]
sub eax, 0xb1
je 0x180051224
sub eax, 1
je 0x180051200
sub eax, 1
je 0x1800511c3
sub eax, 1
je 0x18005118d
cmp eax, 1
jne 0x180051258
mov r13, qword [rbp + 0x4d8]
mov r15d, dword [rsp + 0x64]
mov dword [rbp - 0x70], 3
mov esi, 0xee
nop word [rax + rax]
mov eax, esi
sub eax, 0xec
je 0x180051154
sub eax, 1
je 0x18005114f
cmp eax, 1
jne 0x18005115b
mov r11d, dword [rsp + 0x50]
lea edi, [rax + 6]
mov ebx, r12d
nop word [rax + rax]
mov r9d, 0x94
mov eax, r9d
sub eax, 0x94
je 0x1800510de
cmp eax, 1
jne 0x180051138
add r11d, 0x120
jmp 0x180051138
mov r8d, dword [rsp + 0x60]
mov edx, ebx
mov r10d, 3
nop dword [rax + rax]
mov ecx, 0x12
mov eax, ecx
sub eax, 0x12
je 0x180051115
sub eax, 1
je 0x18005110b
cmp eax, 1
jne 0x180051128
inc r13
jmp 0x180051128
sub r8d, 0xffffff80
add r14, 4
jmp 0x180051128
cmp edx, dword [r14]
jge 0x180051125
mov eax, dword [rsp + 0x54]
mov byte [r13], al
mov dword [r14], edx
add edx, r8d
inc ecx
cmp ecx, 0x15
jb 0x1800510f5
sub r10d, 1
jns 0x1800510f0
add ebx, r11d
inc r9d
cmp r9d, 0x96
jb 0x1800510c6
sub edi, 1
jns 0x1800510c0
jmp 0x18005115b
add r12d, r15d
jmp 0x18005115b
add r15d, 0x200
dec esi
cmp esi, 0xeb
ja 0x180051090
sub dword [rbp - 0x70], 1
jns 0x180051082
mov rdi, qword [rbp + 0x4c0]
mov r15, qword [rbp + 0x4b8]
mov r13, qword [rbp + 0x4c8]
jmp 0x18005124f
mov eax, dword [rsp + 0x64]
lea r14, [rbp - 0x20]
add eax, 8
shl eax, 5
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x50]
add eax, 6
lea edx, [rax + rax*2]
mov eax, dword [rsp + 0x60]
shl edx, 3
add eax, 4
shl eax, 4
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x50], edx
jmp 0x180051258
mov rax, qword [rdi]
movsxd rcx, ebx
mov rax, qword [rax + 0xa0]
mov rax, qword [rax + 0x10]
movsx edx, byte [rax + rcx]
mov rax, qword [rbp + 0x4e0]
mov r8d, dword [rax]
mov eax, dword [rsp + 0x50]
sub r8d, edx
imul eax, eax
mov ecx, r8d
imul ecx, r8d
mov dword [rsp + 0x60], r8d
add r12d, eax
add r12d, ecx
jmp 0x180051253
mov rax, qword [rdi]
movsxd rcx, ebx
mov rax, qword [rax + 0xa0]
mov rax, qword [rax + 8]
movsx edx, byte [rax + rcx]
mov eax, dword [r13]
sub eax, edx
lea eax, [rax + rax*2]
mov dword [rsp + 0x50], eax
jmp 0x180051253
movsx rcx, byte [rcx]
mov rax, qword [rdi]
mov dword [rsp + 0x54], ecx
mov rax, qword [rax + 0xa0]
mov rax, qword [rax]
movsx edx, byte [rax + rcx]
mov ecx, dword [r15]
sub ecx, edx
add ecx, ecx
mov r12d, ecx
mov dword [rsp + 0x64], ecx
imul r12d, ecx
mov ebx, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x58]
mov eax, dword [rbp - 0x6c]
inc eax
mov dword [rbp - 0x6c], eax
cmp eax, 0xb6
jb 0x180051040
mov edx, dword [rsp + 0x48]
inc rcx
mov rax, qword [rbp + 0x4d0]
inc edx
mov dword [rsp + 0x48], edx
mov qword [rsp + 0x58], rcx
cmp edx, dword [rax]
jl 0x180051030
mov r14d, dword [rsp + 0x68]
mov rsi, rax
jmp 0x180050ebb
mov eax, 0x6c
mov dword [rbp - 0x34], 0x64002e
mov word [rbp - 0x30], ax
jmp case.0x180050e8c.7
mov r8d, 1
mov dword [rsp + 0x70], 0x53415357
lea rdx, [0x1800afc95]
mov byte [rsp + 0x74], 0
lea rcx, [rsp + 0x74]
call fcn.18007b500
jmp 0x180050ebb
mov word [rsp + 0x75], r11w
mov byte [rsp + 0x77], 0x65
jmp case.0x180050e8c.7
mov rax, qword [rdi]
mov ecx, 8
cmp dword [rax + 0x40], 2
jne 0x18005130d
mov eax, dword [rax + 0x6c]
mov edx, 0x18
test eax, eax
cmove ecx, edx
neg eax
sbb r8d, r8d
and r8d, 0x100
jmp 0x180051313
mov r8d, 0x100
lea r9d, [r8*4 + 0x36]
mov dword [rsp + 0x34], r8d
mov dword [rsp + 0x38], r9d
mov dword [rsp + 0x3c], ecx
jmp case.0x180050e8c.7
mov word [rbp - 0x36], r10w
jmp case.0x180050e8c.7
mov eax, 0x33
mov dword [rbp - 0x40], 0x730077
mov word [rbp - 0x38], ax
mov dword [rbp - 0x3c], 0x5f0032
jmp case.0x180050e8c.7
mov r14d, dword [rsp + 0x68]
mov rax, qword [rsp + 0x40]
mov edx, dword [rsp + 0x30]
inc r14d
sub rax, 1
mov dword [rsp + 0x68], r14d
mov qword [rsp + 0x40], rax
jne 0x180050e70
mov r12d, dword [rbp + 0x4b0]
xor r10d, r10d
mov ecx, dword [rsp + 0x3c]
lea r11d, [r10 + 0x6c]
jmp 0x180051398
mov edx, dword [rbp + 0x4b0]
mov ecx, dword [rbp + 0x4b0]
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x3c], ecx
movzx ebx, byte [rbp + 0x4b0]
lea esi, [r12 + 0x456]
cmp r12d, esi
jae 0x180051478
mov r14, qword [rsp + 0x58]
nop word [rax + rax]
cmp r12d, 0x153
ja 0x18005157c
je 0x180051518
mov eax, r12d
sub eax, 0x61
je 0x18005150e
sub eax, 0x14
je 0x180051505
sub eax, 0x5b
je 0x1800514fb
sub eax, 0x14
je 0x1800514bc
cmp eax, 0x5b
jne 0x180051721
mov qword [rsp + 0x28], r10
lea r9, [rsp + 0x70]
lea r8, [rbp - 0x40]
mov qword [rsp + 0x20], r10
xor edx, edx
lea ecx, [rax + 0x62]
call fcn.1800282f0
mov ecx, dword [r13]
lea r9, [rbp + 0x4b0]
mov dword [rsp + 0x48], ecx
lea rdx, [rbp + 0x1e0]
mov ecx, dword [r15]
mov r8d, 0x1e
mov dword [rbp + 0x4b0], ecx
mov r14, rax
lea rcx, [rsp + 0x48]
call fcn.180010790
test al, al
jne 0x18005170f
mov edi, 0xbb
nop
cmp edi, 0xbb
je 0x180051493
cmp edi, 0x151
je 0x18005148f
cmp edi, 0x1e7
jne 0x1800514a9
movzx eax, bl
add rsp, 0x568
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor bl, bl
jmp 0x1800514a9
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapCreate]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapDestroy]
add edi, 0x96
cmp edi, 0x27d
jb 0x180051460
jmp 0x18005170f
mov eax, edx
mov byte [rbp - 0x7e], dl
sar eax, 8
mov byte [rbp - 0x7d], al
mov eax, edx
sar eax, 0x10
mov byte [rbp - 0x7c], al
mov eax, edx
sar eax, 0x18
mov byte [rbp - 0x7b], al
mov eax, r9d
sar eax, 8
mov byte [rbp - 0x75], al
mov eax, r9d
sar eax, 0x10
mov byte [rbp - 0x74], al
mov eax, r9d
sar eax, 0x18
mov byte [rbp - 0x73], al
mov byte [rbp - 0x76], r9b
jmp 0x180051721
mov word [rbp - 0x2c], r10w
jmp 0x180051721
mov byte [rbp - 0x7f], 0x4d
jmp 0x180051721
mov word [rbp - 0x2e], r11w
jmp 0x180051721
mov rcx, qword [rdi]
mov word [rbp - 0x68], 0x28
movzx eax, byte [rcx + 0x88]
mov byte [rbp - 0x64], al
movzx eax, byte [rcx + 0x89]
mov byte [rbp - 0x63], al
movzx eax, byte [rcx + 0x8a]
mov byte [rbp - 0x62], al
movzx eax, byte [rcx + 0x8b]
mov byte [rbp - 0x61], al
movzx eax, byte [rcx + 0x8c]
mov byte [rbp - 0x60], al
movzx eax, byte [rcx + 0x8d]
mov byte [rbp - 0x5f], al
movzx eax, byte [rcx + 0x8e]
mov byte [rbp - 0x5e], al
movzx eax, byte [rcx + 0x8f]
mov byte [rbp - 0x5d], al
mov word [rbp - 0x5c], 1
jmp 0x18005171d
mov eax, r12d
sub eax, 0x1ae
je 0x1800516a3
sub eax, 0x14
je 0x180051696
sub eax, 0x6f
je 0x1800515a6
cmp eax, 0x6f
je 0x1800516c5
jmp 0x180051721
mov rdx, qword [rdi]
cmp word [rdx + 0x1ac], 2
jne 0x18005161b
movsx eax, byte [rdx + 0x1b0]
imul ecx, eax, 0x64
mov byte [rbp - 0x50], cl
imul eax, dword [rdx + 0x1b0], 0x64
sar eax, 8
mov byte [rbp - 0x4f], al
imul eax, dword [rdx + 0x1b0], 0x64
sar eax, 0x10
mov byte [rbp - 0x4e], al
imul eax, dword [rdx + 0x1b0], 0x64
sar eax, 0x18
mov byte [rbp - 0x4d], al
movsx eax, byte [rdx + 0x1b4]
imul ecx, eax, 0x64
mov byte [rbp - 0x4c], cl
imul eax, dword [rdx + 0x1b4], 0x64
sar eax, 8
mov byte [rbp - 0x4b], al
imul eax, dword [rdx + 0x1b4], 0x64
sar eax, 0x10
mov byte [rbp - 0x4a], al
imul eax, dword [rdx + 0x1b4], 0x64
sar eax, 0x18
mov byte [rbp - 0x49], al
mov r9, qword [r15]
lea rcx, [rbp - 0x80]
mov eax, r8d
mov byte [rbp - 0x48], r8b
mov edx, 1
sar eax, 8
mov byte [rbp - 0x47], al
mov r9, qword [r9 + 0x18]
lea r8d, [rdx + 0xd]
call fcn.18007be3c
cmp rax, 0xe
je 0x18005165c
mov rax, qword [rdi]
mov rcx, qword [rax]
mov dword [rcx + 0x28], 0x25
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax]
mov r9, qword [r15]
lea rcx, [rbp - 0x68]
mov edx, 1
mov r9, qword [r9 + 0x18]
lea r8d, [rdx + 0x27]
call fcn.18007be3c
cmp rax, 0x28
je 0x18005170f
mov rax, qword [rdi]
mov rcx, qword [rax]
mov dword [rcx + 0x28], 0x25
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax]
jmp 0x18005170f
mov eax, ecx
mov byte [rbp - 0x5a], cl
sar eax, 8
mov byte [rbp - 0x59], al
jmp 0x180051721
mov eax, 0x60
nop dword [rax + rax]
cmp eax, 0x60
je 0x180051741
add eax, 0xb4
cmp eax, 0x114
jb 0x1800516b0
test r8d, r8d
jle 0x180051721
mov rax, qword [r15]
lea r9, [rsp + 0x58]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
mov rax, qword [rdi]
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x4b0]
mov dword [rsp + 0x48], r8d
mov r8d, 0x38
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x4b0], 4
call fcn.180011aa0
mov r8d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x3c]
add r12d, 0x6f
cmp r12d, esi
jae 0x180051478
mov rdi, qword [rbp + 0x4c0]
xor r10d, r10d
lea r11d, [r10 + 0x6c]
jmp 0x1800513c0
mov dword [rsp + 0x28], 1
lea r9, [rbp + 0x1e0]
xor r8d, r8d
mov dword [rsp + 0x20], r10d
xor edx, edx
xor ecx, ecx
call r14
xor edx, edx
mov qword [rdi], rax
mov r8d, 0x119
mov rcx, rdi
call fcn.180054bd0
test al, al
jne 0x1800517ce
mov edi, 0xe8
nop dword [rax + rax]
mov eax, edi
sub eax, 0xe8
je 0x1800517b2
sub eax, 0x50
je 0x1800517a2
sub eax, 0x50
je 0x18005179e
cmp eax, 0x50
je 0x180051478
jmp 0x1800517c3
xor bl, bl
jmp 0x1800517c3
lea r8, [rbp - 0x20]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetCPInfoExA]
jmp 0x1800517c3
xor edx, edx
lea rcx, [rbp - 0x20]
mov r8d, 0x11c
call fcn.1800746e0
add edi, 0x50
cmp edi, 0x228
jb 0x180051780
mov al, 1
jmp 0x18005147b