Function at 0x477be0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x278
movzx eax, byte [rcx + 0x40]
and eax, 7
mov r15, rcx
mov r13, rdx
cmp al, 1
je 0x477c54
cmp al, 2
je 0x477c30
mov ecx, 3
xor r14d, r14d
call fcn.00424130
mov eax, r14d
add rsp, 0x278
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rcx + 0x43], 0
jns 0x4780f3
mov rax, qword [rcx + 0xf0]
mov eax, dword [rax + 0x20]
test eax, eax
jne 0x478180
mov r14d, 1
jmp 0x477c15
mov rbx, qword [rdx + 0x28]
test byte [rcx + 0x41], 8
mov rdx, qword [rcx + 8]
mov qword [rsp + 0x80], rbx
jne 0x4780c0
xor r14d, r14d
mov rdi, qword [rdx + 0x360]
test byte [r13 + 6], 4
mov qword [rsp + 0x88], rdi
je 0x477cd0
mov rax, qword [r15 + 0xf0]
mov r9d, dword [rdi + 8]
movzx edx, word [rax + 0x32]
cmp r9d, edx
je 0x477cd0
mov eax, dword [rdi + 0x2f0]
cmp edx, eax
jne 0x477ca9
test eax, eax
jne 0x477cbf
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x2f4]
cmp edx, eax
jne 0x477cd0
test eax, eax
je 0x477cd0
mov rax, qword [r13 + 0x20]
lea rcx, str._P:_alternate_ELF_machine_code_found___d__in__B__expecting__d_n
mov r8, r15
call qword [rax + 0x58]
mov rbp, qword [r15 + 0x88]
test rbp, rbp
je 0x477e1d
lea rbx, str..gnu.warning.
nop word [rax + rax]
mov r8, qword [rbp]
mov ecx, 0xd
mov rdi, rbx
mov rsi, r8
repe cmpsb byte [rsi], byte [rdi]
jne 0x477df2
lea rsi, [r8 + 0xd]
test r14d, r14d
je 0x477d42
mov rcx, qword [rsp + 0x80]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 1
mov rdx, rsi
call fcn.004a64c0
test rax, rax
je 0x477d42
movzx eax, byte [rax + 0x18]
sub eax, 3
cmp al, 1
jbe 0x477df2
mov rdi, qword [rbp + 0x38]
mov rcx, r15
lea rdx, [rdi + 1]
call fcn.00429930
test rax, rax
mov r12, rax
je 0x478170
xor r9d, r9d
mov qword [rsp + 0x20], rdi
mov r8, rax
mov rdx, rbp
mov rcx, r15
call fcn.0042ad30
test eax, eax
je 0x478170
mov byte [r12 + rdi], 0
mov r8, rsi
mov rdx, r15
mov rcx, r13
mov rax, qword [rsp + 0x88]
mov r9d, 0x1000
mov qword [rsp + 0x48], 0
movzx eax, byte [rax + 0x37c]
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rbp
and eax, 1
mov dword [rsp + 0x40], eax
call fcn.004a72f0
test eax, eax
je 0x478170
movzx eax, byte [r13]
and eax, 3
cmp al, 1
ja 0x477df2
or dword [rbp + 0x20], 0x8000
mov qword [rbp + 0x38], 0
mov rbp, qword [rbp + 0x10]
test rbp, rbp
jne 0x477cf0
mov rax, qword [r15 + 0x88]
test rax, rax
je 0x477e1d
movzx eax, word [rax + 0x24]
and ax, 0x380
cmp ax, 0x200
je 0x4784c6
test r14d, r14d
je 0x478362
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x40], 1
jne 0x478170
mov rax, qword [r15 + 0xf0]
lea rdx, str..dynamic
mov rcx, r15
mov qword [rsp + 0x248], 0
mov qword [rsp + 0x250], 0
movzx eax, word [rax + 0xc84]
shr ax, 6
and eax, 0xf
mov byte [rsp + 0x98], al
call fcn.0042a590
test rax, rax
mov rdi, rax
je 0x47a43a
lea r8, [rsp + 0x258]
mov rdx, rax
mov rcx, r15
call fcn.0042ae20
test eax, eax
je 0x47a563
mov rdx, rdi
mov rcx, r15
call fcn.00468f70
cmp eax, 0xfffffeff
je 0x47a563
mov rdx, qword [r15 + 0xf0]
mov eax, eax
mov rbx, qword [rsp + 0x258]
mov rdx, qword [rdx + 0x50]
mov rax, qword [rdx + rax*8]
mov esi, dword [rax + 0x28]
mov rax, qword [rdi + 0x38]
add rax, rbx
cmp rbx, rax
jae 0x47b377
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x260]
xor r12d, r12d
mov dword [rsp + 0xc8], r14d
mov rbp, qword [rsp + 0x88]
mov qword [rsp + 0x2c8], r13
mov r14d, esi
mov r13, rcx
mov qword [rsp + 0x90], 0
add rdx, 0xb8
mov qword [rsp + 0xb0], rdx
lea rdx, [rsp + 0x250]
mov rax, qword [rbp + 0x2f8]
mov qword [rsp + 0xb8], rdx
lea rdx, [rsp + 0x248]
mov qword [rsp + 0xc0], rdx
jmp 0x477f92
cmp rax, 0x6ffffefc
je 0x478724
mov rax, qword [rbp + 0x2f8]
mov rcx, qword [rsp + 0x258]
movzx edx, byte [rax + 6]
add rbx, rdx
mov rdx, qword [rdi + 0x38]
add rdx, rcx
cmp rbx, rdx
jae 0x47aa03
mov r8, r13
mov rdx, rbx
mov rcx, r15
call qword [rax + 0x50]
mov rax, qword [rsp + 0x260]
cmp rax, 0xe
je 0x4786f8
cmp rax, 1
je 0x47a34f
cmp rax, 0x1d
je 0x47a283
mov rsi, qword [rsp + 0x250]
test rsi, rsi
jne 0x477f60
cmp rax, 0xf
jne 0x477f60
mov r8, qword [rsp + 0x268]
mov edx, 0x18
mov rcx, r15
mov qword [rsp + 0xa8], r8
call fcn.00429930
mov r8, qword [rsp + 0xa8]
mov edx, r14d
mov rcx, r15
mov qword [rsp + 0xa0], rax
call fcn.00461390
mov r9, qword [rsp + 0xa0]
test r9, r9
mov qword [rsp + 0xd0], r9
je 0x47a563
test rax, rax
je 0x47a563
mov rcx, rax
mov qword [rsp + 0xa8], rax
call sub.msvcrt.dll_strlen
mov rcx, r15
lea r8, [rax + 1]
mov rdx, r8
mov qword [rsp + 0xa0], r8
call fcn.00429930
test rax, rax
je 0x47a563
mov r11, qword [rsp + 0xa8]
mov rcx, rax
mov r8, qword [rsp + 0xa0]
mov rdx, r11
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0xd0]
mov qword [r9 + 0x10], rax
mov qword [r9], 0
mov rax, qword [rsp + 0x248]
mov qword [r9 + 8], r15
test rax, rax
jne 0x4780a8
jmp 0x47b02b
mov rax, rdx
mov rdx, qword [rax]
test rdx, rdx
jne 0x4780a5
mov qword [rax], r9
mov rax, qword [rsp + 0x260]
jmp 0x477f60
movzx eax, byte [r13]
and eax, 3
cmp al, 2
je 0x478350
cmp dword [rbx + 0x40], 1
jne 0x477c08
mov rax, qword [r13 + 0x50]
mov r14d, 1
cmp rdx, qword [rax + 8]
jne 0x477c08
jmp 0x477c71
xor edx, edx
call fcn.00420e90
test rax, rax
je 0x477c4c
mov ecx, 8
xor r14d, r14d
call fcn.00424130
jmp 0x477c15
add edi, 1
cmp edi, dword [r13 + 0x18]
jb 0x47ab18
mov r13, qword [rsp + 0x2c8]
mov rax, qword [rsp + 0x88]
mov rcx, r15
mov r8d, 1
mov rdx, r13
call qword [rax + 0xf0]
mov rcx, qword [rsp + 0x110]
test eax, eax
jne 0x47b038
call fcn.004d4f88
mov rax, qword [rsp + 0x118]
test rax, rax
je 0x478170
mov rcx, rax
call fcn.004d4f88
nop
xor r14d, r14d
jmp 0x477c15
mov ebx, eax
mov rcx, rbx
call fcn.00428210
test rax, rax
mov r14, rax
je 0x478170
mov rax, qword [r15 + 0xf0]
mov qword [rsp + 0x2c0], r15
mov r12, qword [rax + 0x18]
mov rax, qword [r15 + 8]
mov r15, r14
mov rax, qword [rax + 0x360]
mov rax, qword [rax + 0x70]
mov qword [rsp + 0x88], rax
mov rax, rbx
shl rax, 4
add rax, r12
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x260]
mov qword [rsp + 0x98], rax
cmp r12, qword [rsp + 0x80]
jae 0x4786bf
mov r14, 0xffffffffffffffff
mov rsi, r12
xor edi, edi
mov dword [rsp + 0x90], 0
mov rbp, r14
jmp 0x478235
cmp al, 2
je 0x478220
mov byte [rbx], 1
nop word [rax + rax]
add rsi, 0x10
add edi, 1
cmp qword [rsp + 0x80], rsi
jbe 0x4786b0
mov ebx, edi
add rbx, r15
cmp byte [rbx], 0
jne 0x478220
cmp qword [rsi + 8], rbp
je 0x478214
mov r8, qword [rsi]
mov rdx, r13
mov rcx, qword [rsp + 0x2c0]
mov rax, qword [rsp + 0x88]
call rax
cmp rax, 0xffffffffffffff80
je 0x4786a0
test rax, rax
je 0x478220
movzx eax, byte [rax + 0x18]
cmp al, 5
je 0x4784f1
cmp al, 1
jne 0x478210
mov rdx, qword [rsi + 8]
mov rcx, qword [rsp + 0x2c0]
call fcn.00420c10
test rax, rax
mov qword [rsp + 0x260], rax
je 0x4786a0
mov edx, 1
mov rcx, rax
call fcn.004274a0
test eax, eax
je 0x4786a0
mov rax, qword [r13 + 0x28]
mov rcx, r13
mov r9, qword [rsp + 0x98]
mov r8, qword [rsi]
mov rdx, qword [rsp + 0x260]
mov r14, qword [rax + 0x30]
mov rax, qword [r13 + 0x20]
call qword [rax]
test eax, eax
je 0x478220
mov rcx, qword [rsp + 0x260]
mov rdx, r13
mov rax, qword [rcx + 8]
call qword [rax + 0x2c0]
test eax, eax
je 0x4786a0
mov rax, qword [r13 + 0x28]
cmp r14, qword [rax + 0x30]
mov eax, 1
cmove eax, dword [rsp + 0x90]
mov dword [rsp + 0x90], eax
mov eax, edi
jmp 0x47833d
lea edx, [rax - 1]
mov rbp, qword [rsi + 8]
sub rbx, 1
mov rax, rdx
shl rdx, 4
cmp qword [r12 + rdx + 8], rbp
jne 0x478220
test eax, eax
mov byte [rbx], 1
jne 0x478320
mov rbp, qword [rsi + 8]
jmp 0x478220
mov ecx, 5
xor r14d, r14d
call fcn.00424130
jmp 0x477c15
movzx eax, byte [r13]
test al, 1
jne 0x478389
and eax, 3
cmp al, 2
je 0x47839b
test byte [r13 + 7], 2
je 0x47839b
movabs rax, 0x200000000010
test qword [r13], rax
je 0x47839b
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x40], 1
je 0x47a62e
mov rcx, qword [r15 + 0xf0]
mov dword [rsp + 0x12c], 0
mov dword [rsp + 0x128], 1
lea rax, [rcx + 0x60]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x88]
xor edx, edx
mov qword [rsp + 0xf8], 0
mov rbx, qword [rsp + 0xb0]
mov rax, qword [rax + 0x2f8]
movzx r8d, byte [rax + 5]
mov rax, qword [rbx + 0x20]
div r8
test byte [rcx + 0xc85], 0x40
mov qword [rsp + 0xd0], rax
jne 0x47841c
mov ebx, dword [rbx + 0x2c]
sub rax, rbx
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0xd0], rax
cmp qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], 0
mov rbp, qword [rcx + 0x2f8]
jne 0x479f40
test r14d, r14d
jne 0x479fcc
mov rsi, qword [r15 + 0xf0]
mov qword [rsp + 0xf0], 0
test byte [rsi + 0xc84], 0x40
je 0x478744
mov r11, qword [rsp + 0x80]
mov r10d, dword [r11 + 0x18]
test r10d, r10d
je 0x47a9f0
mov rax, qword [r11]
lea edx, [r10 - 1]
lea r8, [rax + 8]
lea r9, [r8 + rdx*8]
xor edx, edx
nop dword [rax]
mov rax, qword [rax]
test rax, rax
je 0x4784b4
mov ecx, dword [r11 + 0x20]
nop dword [rax]
add rdx, rcx
cmp byte [rax + 0x18], 7
jne 0x4784ac
add rdx, rcx
mov rax, qword [rax]
test rax, rax
jne 0x4784a0
cmp r9, r8
mov rax, r8
je 0x47a070
add r8, 8
jmp 0x478490
test r14d, r14d
jne 0x47a22c
mov rcx, qword [r15 + 0xf0]
mov dword [rsp + 0x12c], 1
mov dword [rsp + 0x128], 1
jmp 0x4783b8
mov rdx, qword [rsi + 8]
mov rcx, qword [rsp + 0x2c0]
call fcn.00420c10
test rax, rax
mov r14, rax
je 0x478220
mov edx, 1
mov rcx, rax
call fcn.004274a0
test eax, eax
je 0x478220
movzx eax, byte [r14 + 0x44]
and eax, 0x30
cmp al, 0x10
je 0x4786dc
test al, al
je 0x4786cc
test byte [r14 + 0x41], 8
mov rcx, qword [r14 + 0xf0]
je 0x478564
mov r8d, dword [rcx + 0xc74]
lea rax, [rcx + 0x150]
mov qword [rsp + 0xa0], rax
test r8d, r8d
jne 0x478570
lea rax, [rcx + 0x60]
mov qword [rsp + 0xa0], rax
mov rax, qword [r14 + 8]
xor edx, edx
xor r9d, r9d
mov r11, qword [rsp + 0xa0]
mov rax, qword [rax + 0x360]
mov rax, qword [rax + 0x2f8]
movzx r8d, byte [rax + 5]
mov rax, qword [r11 + 0x20]
div r8
test byte [rcx + 0xc85], 0x40
mov r10, rax
jne 0x4785ae
mov r9d, dword [r11 + 0x2c]
sub r10, r9
test r10, r10
je 0x478220
mov rdx, qword [rsp + 0xa0]
mov rcx, r14
mov r8, r10
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov qword [rsp + 0xb0], r10
call fcn.00461570
test rax, rax
mov rcx, rax
mov qword [rsp + 0xa8], rax
je 0x478220
mov r10, qword [rsp + 0xb0]
mov rax, r10
shl rax, 5
add rax, rcx
mov rdx, rax
mov rax, rcx
cmp rax, rdx
jae 0x478685
mov qword [rsp + 0xb0], r15
mov r15, qword [rsp + 0xa0]
mov qword [rsp + 0xc0], rbx
mov rbx, rax
mov dword [rsp + 0xb8], edi
mov rdi, rdx
jmp 0x478661
mov rdx, qword [rsi]
mov rcx, rax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x47a781
add rbx, 0x20
cmp rdi, rbx
jbe 0x478676
mov edx, dword [r15 + 0x28]
mov rcx, r14
mov r8d, dword [rbx + 0x10]
call fcn.00461390
test rax, rax
jne 0x478645
mov r15, qword [rsp + 0xb0]
mov edi, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa8]
call fcn.004d4f88
jmp 0x478220
mov rcx, r15
call fcn.004d4f88
jmp 0x478170
mov edx, dword [rsp + 0x90]
test edx, edx
jne 0x4781e1
mov rcx, r15
call fcn.004d4f88
jmp 0x477c4c
mov rcx, r14
call fcn.004a4f10
test eax, eax
je 0x47853b
mov r14, qword [r14 + 0x48]
mov rcx, qword [r14 + 0xf0]
lea rax, [rcx + 0x60]
mov qword [rsp + 0xa0], rax
jmp 0x478570
mov r8d, dword [rsp + 0x268]
mov edx, r14d
mov rcx, r15
call fcn.00461390
test rax, rax
mov r12, rax
je 0x47a563
mov rax, qword [rsp + 0x260]
jmp 0x477fb0
mov r8d, dword [rsp + 0x268]
mov edx, r14d
mov rcx, r15
call fcn.00461390
mov qword [rsp + 0x90], rax
jmp 0x477f6c
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x110], 0
mov dword [rsp + 0x184], 0
mov dword [rsp + 0x180], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x158], 0
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x140], 0
mov rbx, qword [rsp + 0xf8]
mov qword [rsp + 0x118], 0
mov r12, qword [rsp + 0xd8]
mov qword [rsp + 0x150], 0
test rax, rax
lea rdx, [rax + rbx*2]
mov eax, 0
cmovne rax, rdx
mov rbx, rax
mov rax, qword [rsp + 0xd0]
shl rax, 5
add rax, r12
cmp r12, rax
mov qword [rsp + 0xc8], rax
jae 0x478e3e
mov rax, qword [0x00521260]
mov qword [rsp + 0x2c8], r13
mov r13, qword [rsp + 0x88]
mov dword [rsp + 0xc0], r14d
mov r14, r12
add rax, 0x118
mov qword [rsp + 0x100], rax
mov rax, qword [0x00521260]
mov qword [rsp + 0x138], rax
add rax, 0x230
mov qword [rsp + 0x148], rax
mov rax, qword [0x00521260]
mov qword [rsp + 0x160], rax
nop dword [rax]
mov rax, qword [r14]
mov rcx, r14
mov dword [rsp + 0x208], 0
mov dword [rsp + 0x1f8], 0
mov qword [rsp + 0x230], 0
mov qword [rsp + 0x228], rax
call qword [r13 + 0x298]
test eax, eax
mov dword [rsp + 0xa0], eax
movzx eax, byte [r14 + 0x14]
je 0x479090
mov rdi, qword [rsp + 0x2c8]
shr al, 4
mov byte [rsp + 0x98], al
test byte [rdi + 7], 0x10
je 0x47909a
cmp al, 2
mov dword [r14 + 0x18], 0
je 0x47a268
cmp al, 0xa
je 0x47a256
test al, al
je 0x478e0d
mov dword [rsp + 0xa0], 0
mov rax, qword [0x00521260]
mov dword [rsp + 0xb8], 0
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0xb0]
mov rcx, r15
mov r8d, dword [r14 + 0x10]
mov edx, dword [rax + 0x28]
call fcn.00461390
test rax, rax
mov qword [rsp + 0x238], rax
je 0x479e91
cmp dword [r14 + 0x18], 0xfffffff2
je 0x479120
mov rax, qword [r13 + 0xb8]
mov rsi, qword [rsp + 0x230]
test rax, rax
je 0x4789e1
lea rdx, [rsp + 0x228]
mov r8, r14
mov rcx, r15
mov qword [rsp + 0x30], rdx
lea rdx, [rsp + 0x230]
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 0x1f8]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x238]
mov rdx, qword [rsp + 0x2c8]
call rax
test eax, eax
je 0x479e91
cmp qword [rsp + 0x238], 0
mov rsi, qword [rsp + 0x230]
je 0x478e0d
test rsi, rsi
je 0x47a6fb
movzx eax, byte [r14 + 0x14]
and eax, 0xf
cmp al, 6
je 0x479294
mov rax, qword [rsp + 0xa8]
mov dword [rsp + 0x90], 0
add rax, 0x118
cmp rsi, rax
je 0x478a2b
mov eax, dword [rsi + 0x20]
shr eax, 0xc
xor eax, 1
and eax, 1
mov dword [rsp + 0x90], eax
movzx eax, byte [r13 + 0x37c]
mov dword [rsp + 0x1fc], 0
mov dword [rsp + 0x204], 0
mov dword [rsp + 0x210], 0
mov dword [rsp + 0x20c], 0
mov qword [rsp + 0x240], 0
shr al, 1
and eax, 1
mov dword [rsp + 0x200], eax
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x40], 1
jne 0x4792b0
test rbx, rbx
je 0x4792e0
lea r8, [rsp + 0x258]
mov rdx, rbx
mov rcx, r15
call fcn.004611b0
movzx eax, word [rsp + 0x258]
mov edi, eax
and di, 0x7fff
test ax, ax
movzx ecx, di
mov dword [rsp + 0xe4], ecx
js 0x479180
cmp di, 1
mov rax, qword [rsp + 0x230]
jbe 0x478b0c
mov rcx, qword [rsp + 0xa8]
lea rdx, [rcx + 0x230]
cmp rax, rdx
jne 0x479180
movzx ecx, byte [r14 + 0x14]
and ecx, 0xf
call qword [r13 + 0x2c0]
test eax, eax
jne 0x479180
mov rax, qword [rsp + 0x230]
mov r11, qword [rsp + 0x238]
test byte [rsp + 0xc0], 1
jne 0x478b52
mov rdi, qword [rsp + 0xa8]
lea rdx, [rdi + 0x118]
cmp rax, rdx
je 0x478b52
test byte [r15 + 0x43], 0x20
je 0x478b52
movzx eax, byte [r14 + 0x15]
mov edx, eax
and edx, 3
cmp dl, 1
je 0x478b52
and eax, 0xfffffffc
or eax, 2
mov byte [r14 + 0x15], al
mov qword [rsp + 0x30], rbp
mov r9, r14
mov r8, r11
mov rcx, r15
lea rax, [rsp + 0x210]
mov rdx, qword [rsp + 0x2c8]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x1fc]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x200]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x208]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x260]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x20c]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x204]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x240]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x228]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x230]
mov qword [rsp + 0x20], rax
call fcn.00474e20
test eax, eax
je 0x479e91
mov r10d, dword [rsp + 0x260]
test r10d, r10d
jne 0x478e0d
mov r9d, dword [rsp + 0x208]
test r9d, r9d
je 0x478c34
mov r8d, dword [rsp + 0x210]
mov eax, 0
test r8d, r8d
cmove eax, dword [rsp + 0x90]
mov dword [rsp + 0x90], eax
mov rdx, qword [rbp]
movzx eax, byte [rdx + 0x18]
sub eax, 6
cmp al, 1
ja 0x478c52
mov rdx, qword [rdx + 0x28]
movzx eax, byte [rdx + 0x18]
sub eax, 6
cmp al, 1
jbe 0x478c43
mov rax, qword [r15 + 0xf0]
mov rax, qword [rax + 0x340]
test rax, rax
je 0x478c89
mov edi, dword [rsp + 0xe4]
cmp edi, 1
jbe 0x478c89
test byte [rsp + 0x90], 1
je 0x478c89
lea ecx, [rdi - 1]
shl rcx, 6
add rax, rcx
mov qword [rdx + 0x70], rax
mov rdx, qword [rsp + 0x230]
mov qword [rsp + 0x48], rbp
movzx eax, byte [r13 + 0x37c]
mov r9d, dword [rsp + 0x1f8]
mov qword [rsp + 0x20], rdx
mov rdx, r15
mov r8, qword [rsp + 0x238]
mov dword [rsp + 0x38], 0
mov rcx, qword [rsp + 0x2c8]
mov qword [rsp + 0x30], 0
and eax, 1
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x228]
mov qword [rsp + 0x28], rax
call fcn.004a72f0
test eax, eax
je 0x479e91
mov edx, dword [rsp + 0x1f8]
test edx, 0x800000
je 0x478d30
test byte [r15 + 0x41], 8
jne 0x478d30
mov rax, qword [rsp + 0x2c8]
mov rax, qword [rax + 0x50]
mov rcx, qword [rax + 8]
cmp dword [rcx + 8], 5
jne 0x478d30
mov rax, qword [rax + 0xf0]
or byte [rax + 0xc85], 0x14
nop word [rax + rax]
mov rdi, qword [rbp]
movzx eax, byte [rdi + 0x18]
mov r12, rdi
sub eax, 6
cmp al, 1
ja 0x478d54
mov r12, qword [r12 + 0x28]
movzx eax, byte [r12 + 0x18]
sub eax, 6
cmp al, 1
jbe 0x478d42
mov ecx, dword [rsp + 0xb8]
test ecx, ecx
je 0x478d68
mov dword [r12 + 0x38], 0xfffffffd
movzx ecx, byte [rsp + 0x90]
mov qword [rbp], r12
and ecx, 1
and edx, 0x80
setne al
test byte [rsp + 0xc0], al
mov byte [rsp + 0xe4], cl
mov dword [rsp + 0xb8], edx
je 0x478dc0
test cl, cl
je 0x478dc0
movzx ecx, byte [r14 + 0x14]
and ecx, 0xf
call qword [r13 + 0x2c0]
test eax, eax
jne 0x478dc0
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x40], 1
je 0x47a5ba
mov eax, dword [rsp + 0xa0]
test eax, eax
jne 0x4792c0
mov rax, qword [rsp + 0x230]
test byte [rax + 0x21], 0x10
je 0x478dfb
cmp byte [r12 + 0x18], 5
jne 0x478dfb
mov eax, dword [rsi + 0x70]
mov edx, dword [rsp + 0x20c]
mov rcx, qword [r12 + 0x28]
cmp edx, eax
cmovb edx, eax
mov dword [rcx], edx
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x40], 1
je 0x479390
lea rax, [rbx + 2]
add r14, 0x20
add rbp, 8
test rbx, rbx
cmovne rbx, rax
cmp qword [rsp + 0xc8], r14
ja 0x478880
mov r14d, dword [rsp + 0xc0]
mov r13, qword [rsp + 0x2c8]
test byte [r13 + 1], 2
je 0x478f8a
movzx eax, byte [r13]
and eax, 3
cmp al, 2
je 0x478f8a
test byte [r15 + 0x42], 0x20
jne 0x478f8a
test byte [rsp + 0x12c], 1
jne 0x478f8a
cmp qword [rsp + 0xd0], 0
je 0x478f8a
mov rax, qword [rsp + 0x88]
mov esi, 8
mov rdi, qword [r15 + 0x88]
mov rax, qword [rax + 0x2f8]
cmp byte [rax + 0xa], 0x20
mov eax, 0x20
cmovne esi, eax
mov rax, qword [r15 + 0xf0]
test rdi, rdi
mov rbx, qword [rax + 0x2f8]
je 0x478f8a
mov eax, dword [rdi + 0x20]
test al, 4
je 0x478f7d
mov r10d, dword [rdi + 0x88]
test r10d, r10d
je 0x478f7d
test ah, 0x80
jne 0x478f7d
test byte [r13 + 1], 0x20
je 0x478ef3
test ah, 0x20
jne 0x478f7d
movzx eax, byte [r13 + 3]
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, r15
shr al, 2
and eax, 1
mov dword [rsp + 0x20], eax
call fcn.00476d70
test rax, rax
je 0x479e91
mov r8d, dword [rdi + 0x88]
imul r8, r8, 0x18
add r8, rax
cmp rax, r8
jae 0x478f65
mov r9, rax
mov ecx, esi
mov rdx, qword [r9 + 8]
mov rsi, qword [rsp + 0xf8]
shr rdx, cl
mov edx, edx
cmp rsi, rdx
ja 0x478f5a
sub rdx, rsi
mov rdx, qword [rbx + rdx*8]
test rdx, rdx
je 0x478f5a
or byte [rdx + 0x19], 1
add r9, 0x18
cmp r8, r9
ja 0x478f34
mov esi, ecx
mov rdx, qword [rdi + 0xe0]
cmp rax, qword [rdx + 0x98]
je 0x478f7d
mov rcx, rax
call fcn.004d4f88
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x478ebf
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x478f9f
mov rcx, rax
call fcn.004d4f88
mov rax, qword [rsp + 0xd8]
test rax, rax
je 0x478fb4
mov rcx, rax
call fcn.004d4f88
mov rax, qword [r15 + 0xf0]
test byte [rax + 0xc84], 0x40
jne 0x47aa65
cmp qword [rsp + 0x110], 0
je 0x47ac16
mov rax, qword [rsp + 0x88]
mov r8d, 2
mov rdx, r13
mov rcx, r15
call qword [rax + 0xf0]
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xf0], 0
test eax, eax
jne 0x47ac09
mov rcx, qword [rsp + 0x110]
call fcn.004d4f88
cmp qword [rsp + 0x120], 0
je 0x479036
mov rcx, qword [rsp + 0x120]
call fcn.004d4f88
cmp qword [rsp + 0x118], 0
je 0x47904e
mov rcx, qword [rsp + 0x118]
call fcn.004d4f88
cmp qword [rsp + 0xf0], 0
je 0x479066
mov rcx, qword [rsp + 0xf0]
call fcn.004d4f88
cmp qword [rsp + 0xd8], 0
je 0x478170
mov rcx, qword [rsp + 0xd8]
xor r14d, r14d
call fcn.004d4f88
jmp 0x477c15
shr al, 4
mov byte [rsp + 0x98], al
movzx eax, byte [rsp + 0x98]
cmp al, 1
je 0x479330
jb 0x478e0d
cmp al, 2
mov edx, dword [r14 + 0x18]
je 0x479320
cmp al, 0xa
jne 0x4790d3
mov dword [rsp + 0x1f8], 0x800000
mov byte [rsp + 0x98], 0xa
test edx, edx
je 0x478912
cmp edx, 0xfffffff1
je 0x479360
cmp edx, 0xfffffff2
jne 0x479820
mov rax, qword [0x00521260]
mov dword [rsp + 0xb8], 0
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x230], rax
mov rax, qword [r14 + 8]
mov qword [rsp + 0x228], rax
jmp 0x47893c
test byte [r15 + 0x42], 0x20
jne 0x479e55
movzx eax, byte [r14 + 0x14]
and eax, 0xf
cmp al, 6
jne 0x47896f
mov rax, qword [rsp + 0x2c8]
movzx eax, byte [rax]
mov byte [rsp + 0x90], al
and eax, 3
cmp al, 2
je 0x47896f
lea rdx, str..tcommon
mov rcx, r15
call fcn.0042a590
test rax, rax
mov rsi, rax
je 0x47abf7
mov qword [rsp + 0x230], rsi
jmp 0x4789ea
mov edx, dword [r14 + 0x18]
mov rax, qword [r15 + 0xf0]
test edx, edx
je 0x479ea5
mov ecx, dword [rax + 0x338]
mov edi, dword [rsp + 0xe4]
cmp edi, ecx
ja 0x47a6d8
cmp edi, 1
jbe 0x47a214
lea edx, [rdi - 1]
shl rdx, 6
add rdx, qword [rax + 0x340]
mov r12, qword [rdx + 0x20]
test r12, r12
je 0x47a6d8
mov rcx, r12
call sub.msvcrt.dll_strlen
mov qword [rsp + 0xe8], rax
mov rcx, qword [rsp + 0x238]
call sub.msvcrt.dll_strlen
mov rdi, rax
mov rax, qword [rsp + 0xe8]
add rax, rdi
cmp word [rsp + 0x258], 0
lea rdx, [rax + 3]
jns 0x47920a
lea rdx, [rax + 2]
mov rcx, qword [rsp + 0x80]
call fcn.00427af0
test rax, rax
je 0x479e91
mov rdx, qword [rsp + 0x238]
mov r8, rdi
mov rcx, rax
call sub.msvcrt.dll_memcpy
add rdi, rax
mov r11, rax
mov byte [rdi], 0x40
lea rcx, [rdi + 1]
cmp word [rsp + 0x258], 0
js 0x47925b
mov eax, dword [r14 + 0x18]
test eax, eax
je 0x47925b
lea rcx, [rdi + 2]
mov byte [rdi + 1], 0x40
mov r8, qword [rsp + 0xe8]
mov rdx, r12
mov qword [rsp + 0x108], r11
add r8, 1
call sub.msvcrt.dll_memcpy
mov r11, qword [rsp + 0x108]
mov rax, qword [rsp + 0x230]
mov qword [rsp + 0x238], r11
jmp 0x478b14
movzx eax, word [rsi + 0x24]
and ax, 0x380
cmp ax, 0x200
jne 0x4789fa
jmp 0x478e0d
mov rdx, rsi
jmp 0x478c91
cmp byte [r12 + 0x18], 5
jne 0x478dfb
mov rcx, qword [r14]
call fcn.00428820
jmp 0x478de8
mov rax, qword [rsp + 0x2c8]
cmp byte [rax + 4], 0
js 0x47a0ea
xor ecx, ecx
mov rax, rsi
mov r11, qword [rsp + 0x238]
mov dword [rsp + 0xe4], 0
mov word [rsp + 0x258], cx
jmp 0x478b14
mov dword [rsp + 0x1f8], pe_nt_image_headers64
jmp 0x4790d3
mov r8d, dword [rsp + 0xa0]
mov edx, dword [r14 + 0x18]
test r8d, r8d
jne 0x4790d3
test edx, edx
je 0x4790d3
mov dword [rsp + 0x1f8], 2
jmp 0x4790d3
mov rax, qword [0x00521260]
mov dword [rsp + 0xb8], 0
mov qword [rsp + 0xa8], rax
add rax, 0x230
mov qword [rsp + 0x230], rax
jmp 0x47893c
test byte [r15 + 0x42], 0x20
jne 0x4798db
mov eax, dword [rsp + 0xc0]
test eax, eax
jne 0x47988c
mov eax, dword [rsp + 0x90]
test eax, eax
jne 0x47a75b
movzx edx, byte [r12 + 0x5b]
movzx eax, byte [r12 + 0x5b]
or edx, 1
or eax, 0x11
cmp byte [rsp + 0x98], 2
cmove eax, edx
mov byte [r12 + 0x5b], al
cmp rdi, r12
je 0x4793ea
test byte [rdi + 0x5c], 8
jne 0x4798db
mov rax, qword [rsp + 0x2c8]
movzx eax, byte [rax]
mov byte [rsp + 0x98], al
and eax, 3
cmp al, 3
je 0x47940f
test byte [r12 + 0x5b], 0xc
je 0x4798db
mov esi, 1
mov eax, dword [rsp + 0x90]
test eax, eax
jne 0x47a190
mov eax, dword [rsp + 0x208]
test eax, eax
jne 0x479e0a
movzx eax, byte [r12 + 0x18]
cmp al, 5
je 0x47a190
mov edi, dword [rsp + 0xa0]
or edi, dword [rsp + 0x20c]
je 0x47a575
sub eax, 3
cmp al, 1
jbe 0x47946c
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x1284
call fcn.004240b0
bsf eax, dword [r12 + 0x30]
mov edi, 0xffffffff
mov rdx, qword [r12 + 0x28]
cmovne edi, eax
mov rax, qword [rdx + 0xf0]
test rax, rax
je 0x4794a0
mov eax, dword [rax + 0x40]
shr eax, 5
test eax, 0x10040
jne 0x4794a0
mov eax, dword [rdx + 0x70]
cmp edi, eax
cmova edi, eax
mov eax, dword [rsp + 0x20c]
test eax, eax
je 0x47a670
cmp eax, edi
jbe 0x4794ff
mov rcx, qword [rsp + 0x238]
mov r9, r15
mov r8, qword [rsp + 0x240]
mov qword [rsp + 0x98], rcx
mov edx, 1
mov ecx, edi
mov qword [rsp + 0x28], r8
mov r8, qword [rsp + 0x98]
mov r11d, edx
shl r11d, cl
mov ecx, eax
shl edx, cl
mov dword [rsp + 0x20], edx
lea rcx, str.Warning:_alignment__u_of_symbol___s_in__B_is_smaller_than__u_in__B
mov edx, r11d
call fcn.00423f70
mov rdx, qword [r14 + 8]
test rdx, rdx
je 0x479530
mov edi, dword [r14 + 0x18]
test edi, edi
je 0x479530
mov r11d, dword [rsp + 0x90]
mov r8, qword [r12 + 0x50]
test r11d, r11d
jne 0x47a830
test r8, r8
jne 0x479530
mov qword [r12 + 0x50], rdx
movzx edx, byte [r12 + 0x18]
cmp dl, 5
je 0x479e41
movzx eax, byte [r14 + 0x14]
and eax, 0xf
je 0x4795c3
mov r9d, dword [rsp + 0xb8]
movzx ecx, byte [r12 + 0x58]
test r9d, r9d
jne 0x47a597
cmp byte [rsp + 0xe4], 0
je 0x47a597
cmp al, 0xa
movzx edi, al
jne 0x47958a
mov eax, dword [r15 + 0x40]
shr eax, 5
and eax, 0x40
cmp eax, 1
sbb edi, edi
and edi, 8
add edi, 2
movzx r8d, cl
cmp r8d, edi
je 0x4795c3
test cl, cl
je 0x4795be
mov eax, dword [rsp + 0x200]
test eax, eax
jne 0x4795be
mov rdx, qword [rsp + 0x238]
mov qword [rsp + 0x20], r15
mov r9d, edi
lea rcx, str.Warning:_type_of_symbol___s_changed_from__d_to__d_in__B
call fcn.00423f70
mov byte [r12 + 0x58], dil
mov eax, dword [rsp + 0xc0]
mov r8, r14
mov rdx, r12
mov rcx, qword [r15 + 8]
mov edi, dword [rsp + 0x90]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x230]
mov dword [rsp + 0x20], edi
lea r9, [rax + 0x20]
call fcn.00470bc0
test edi, edi
je 0x47a106
mov eax, dword [r15 + 0x40]
mov rdx, qword [rsp + 0x230]
shr eax, 5
and eax, 0x10000
test byte [rdx + 0x21], 0x20
je 0x47a42b
mov rdi, qword [rsp + 0x2c8]
movzx edi, byte [rdi]
mov edx, edi
mov byte [rsp + 0x98], dil
and edx, 3
cmp dl, 2
je 0x47a42b
xor esi, esi
movzx eax, byte [r14 + 0x16]
movzx edx, byte [r12 + 0x5d]
mov byte [r12 + 0x5a], al
mov eax, dword [rsp + 0x1f8]
and edx, 0xfffffffb
shr eax, 0x17
and eax, 1
shl eax, 2
or eax, edx
mov byte [r12 + 0x5d], al
cmp dword [rsp + 0xc0], 1
je 0x4796bd
mov rcx, qword [rsp + 0x238]
mov edx, 0x40
call sub.msvcrt.dll_strchr
test rax, rax
je 0x4796bd
cmp byte [rax + 1], 0x40
je 0x4796bd
cmp qword [rsp + 0x118], 0
je 0x47af0e
mov rax, qword [rsp + 0x140]
mov rdi, qword [rsp + 0x118]
mov qword [rdi + rax*8], r12
add rax, 1
mov qword [rsp + 0x140], rax
test esi, esi
mov eax, dword [r12 + 0x3c]
je 0x47a116
cmp eax, 0xffffffff
je 0x47a988
movzx eax, byte [r12 + 0x59]
and eax, 3
sub eax, 1
cmp al, 1
ja 0x47a121
mov r8d, 1
mov rdx, r12
mov rcx, qword [rsp + 0x2c8]
call qword [r13 + 0x1b0]
mov eax, dword [rsp + 0x128]
test eax, eax
jne 0x478e0d
mov eax, dword [rsp + 0x210]
test eax, eax
je 0x478e0d
test byte [rsp + 0x90], 1
je 0x478e0d
test byte [r12 + 0x5d], 1
je 0x47aa55
mov rsi, qword [r15 + 0xf0]
mov dword [rsp + 0x128], 0
test byte [rsi + 0xc84], 0x40
je 0x478e0d
mov rax, qword [rsp + 0x80]
xor r8d, r8d
mov rcx, qword [rsi + 0x308]
mov rdx, qword [rax + 0xb8]
call fcn.00470190
test eax, eax
jne 0x478e0d
mov r8, qword [rsp + 0x240]
mov rax, qword [rsp + 0x2c8]
lea rcx, [0x004faf91]
mov rdi, qword [rsi + 0x308]
mov r9, qword [r12 + 8]
mov rax, qword [rax + 0x20]
mov rdx, rdi
call qword [rax + 0x68]
mov rdx, qword [rsp + 0x240]
mov rsi, qword [r15 + 0xf0]
test rdx, rdx
je 0x4797ca
test byte [rsi + 0xc85], 2
jne 0x47b1da
and word [rsi + 0xc84], 0xffbf
mov r9d, 1
mov r8, rdi
mov rcx, r15
mov rdx, qword [rsp + 0x2c8]
call fcn.00477770
test eax, eax
js 0x479e91
mov dword [rsp + 0x128], 1
je 0x478e0d
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x1352
call fcn.004240b0
jmp 0x478e0d
mov rcx, r15
call fcn.00463f80
test rax, rax
mov qword [rsp + 0x230], rax
je 0x47a535
mov rsi, qword [rsp + 0x148]
mov rdi, qword [rsp + 0x138]
cmp rax, rsi
mov qword [rsp + 0xa8], rdi
je 0x479860
cmp qword [rax + 0x68], rsi
je 0x47a70a
mov dword [rsp + 0xb8], 0
mov edx, dword [r15 + 0x40]
shr edx, 5
and edx, 0x42
je 0x47893c
mov rax, qword [rax + 0x28]
sub qword [rsp + 0x228], rax
jmp 0x47893c
mov eax, dword [rsp + 0x90]
test eax, eax
jne 0x47a74c
or byte [r12 + 0x5b], 4
or byte [rdi + 0x5b], 4
cmp rdi, r12
je 0x4798b0
test byte [rdi + 0x5c], 8
jne 0x4798db
test byte [r12 + 0x5b], 3
jne 0x47940f
test byte [r12 + 0x5d], 0x20
je 0x4798db
mov rax, r12
mov rax, qword [rax + 0x68]
test byte [rax + 0x5d], 0x20
jne 0x4798c7
cmp dword [rax + 0x3c], 0xffffffff
jne 0x47940f
xor esi, esi
jmp 0x479414
cmp qword [rsp + 0xe8], 0
je 0x479e0a
mov rax, qword [r15 + 8]
mov r10, qword [rsp + 0x2c8]
mov rax, qword [rax + 0x360]
mov rcx, qword [r10 + 0x28]
mov qword [rsp + 0x190], rax
movzx eax, byte [rax + 0x37c]
and eax, 1
mov byte [rsp + 0x198], al
mov eax, dword [r15 + 0x40]
shr eax, 5
and eax, 0xfffff
mov dword [rsp + 0x19c], eax
mov rax, qword [rsp + 0xe8]
sub rax, qword [rsp + 0x98]
lea edx, [rax + 1]
mov qword [rsp + 0x188], rax
call fcn.00427af0
test rax, rax
mov rdi, rax
je 0x479e91
mov r8, qword [rsp + 0x188]
mov rcx, rax
mov rdx, qword [rsp + 0x98]
call sub.msvcrt.dll_memcpy
mov r9, r14
mov r8, rdi
mov rcx, r15
mov rdx, qword [rsp + 0x108]
mov rax, qword [rsp + 0x188]
mov byte [rdi + rax], 0
mov qword [rsp + 0x260], rdx
lea rdx, [rsp + 0x224]
mov qword [rsp + 0x1c8], rdx
mov qword [rsp + 0x70], rdx
lea rdx, [rsp + 0x218]
mov qword [rsp + 0x1b0], rdx
mov qword [rsp + 0x68], rdx
lea rdx, [rsp + 0x214]
mov qword [rsp + 0x1a8], rdx
mov qword [rsp + 0x60], rdx
lea rdx, [rsp + 0x220]
mov qword [rsp + 0x1c0], rdx
mov qword [rsp + 0x58], rdx
lea rdx, [rsp + 0x21c]
mov qword [rsp + 0x1b8], rdx
mov qword [rsp + 0x50], rdx
lea rdx, [rsp + 0x240]
mov qword [rsp + 0x1d0], rdx
mov qword [rsp + 0x38], rdx
lea rdx, [rsp + 0x250]
mov qword [rsp + 0x1e0], rdx
mov qword [rsp + 0x30], rdx
lea rdx, [rsp + 0x248]
mov qword [rsp + 0x1d8], rdx
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 0x260]
mov qword [rsp + 0x1e8], rdx
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x2c8]
mov dword [rsp + 0x214], 0
mov dword [rsp + 0x218], 0
mov dword [rsp + 0x224], 1
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
call fcn.00474e20
test eax, eax
je 0x479e91
mov eax, dword [rsp + 0x19c]
movzx ecx, byte [rsp + 0x198]
and eax, 0x40
cmp dword [rsp + 0x21c], 0
mov dword [rsp + 0x198], ecx
mov dword [rsp + 0x19c], eax
jne 0x479c80
mov r9, qword [rsp + 0x250]
test byte [r9 + 0x5b], 2
je 0x479b23
mov rax, qword [r9 + 0x70]
test rax, rax
je 0x47b2f3
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0x1a0], r9
mov rdx, qword [rax + 8]
xor eax, eax
cmp byte [rcx + 1], 0x40
sete al
lea rcx, [rcx + rax + 1]
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x479c80
mov r9, qword [rsp + 0x1a0]
cmp dword [rsp + 0x220], 0
mov rdx, r9
jne 0x47b127
mov rax, qword [rsp + 0x2c8]
movzx eax, byte [rax]
mov byte [rsp + 0x1a0], al
and eax, 3
cmp al, 2
je 0x479bd3
lea rax, [rsp + 0x258]
mov r8, rdi
mov rdx, r15
mov rcx, qword [rsp + 0x2c8]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x198]
mov qword [rsp + 0x258], r9
mov r9d, 0x2000
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xa8]
add rax, 0x348
mov qword [rsp + 0x20], rax
call fcn.004a72f0
test eax, eax
je 0x479e91
mov r9, qword [rsp + 0x258]
mov qword [rsp + 0x250], r9
cmp byte [r9 + 0x18], 7
jne 0x479be6
mov r9, qword [r9 + 0x28]
mov qword [rsp + 0x250], r9
cmp byte [r9 + 0x18], 6
jne 0x479c80
mov rdi, qword [r9 + 0x28]
mov r8, r9
mov rax, qword [rsp + 0x190]
mov rcx, qword [rsp + 0x2c8]
mov rdx, rdi
call qword [rax + 0x1a8]
mov rdx, qword [rsp + 0x250]
movzx eax, byte [rdi + 0x5d]
movzx ecx, byte [rdx + 0x5d]
or ecx, eax
and eax, 0xfffffffe
and ecx, 1
or eax, ecx
mov byte [rdi + 0x5d], al
movzx eax, byte [rdx + 0x5c]
mov ecx, eax
or ecx, dword [rdi + 0x5c]
and eax, 0x7f
and ecx, 0xffffff80
or eax, ecx
test esi, esi
mov byte [rdx + 0x5c], al
jne 0x47b08b
cmp dword [rsp + 0x19c], 0
jne 0x47b1a2
mov rax, qword [rsp + 0x2c8]
mov esi, 1
movzx eax, byte [rax]
mov byte [rsp + 0x1a0], al
and eax, 3
cmp al, 1
ja 0x479c80
xor esi, esi
test byte [rdx + 0x5b], 0xc
setne sil
mov rdi, qword [rsp + 0x98]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov rax, rcx
not rax
lea r8, [rax - 1]
mov rax, qword [rsp + 0x2c8]
mov edx, r8d
mov qword [rsp + 0x1a0], r8
mov rcx, qword [rax + 0x28]
call fcn.00427af0
test rax, rax
mov rdi, rax
je 0x479e91
mov r8, qword [rsp + 0x188]
mov rcx, rax
mov rdx, qword [rsp + 0x98]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x188]
mov rdx, qword [rsp + 0xe8]
mov r8, qword [rsp + 0x1a0]
lea rcx, [rdi + rax]
add rdx, 1
sub r8, rax
call sub.msvcrt.dll_memcpy
mov r9, r14
mov r8, rdi
mov rcx, r15
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x48], 0
mov rdx, qword [rsp + 0x2c8]
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x214], 0
mov dword [rsp + 0x218], 0
mov qword [rsp + 0x260], rax
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x1a8]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x1c0]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x1e0]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1d8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x20], rax
call fcn.00474e20
test eax, eax
je 0x479e91
cmp dword [rsp + 0x21c], 0
jne 0x479e0a
cmp dword [rsp + 0x220], 0
mov rax, qword [rsp + 0x250]
je 0x47b3a4
movzx eax, byte [rax + 0x18]
sub eax, 3
cmp al, 1
jbe 0x479e0a
lea rcx, str._B:_unexpected_redefinition_of_indirect_versioned_symbol___s
mov r8, rdi
mov rdx, r15
call fcn.00423f70
mov eax, dword [rsp + 0xa0]
or eax, dword [rsp + 0x20c]
je 0x4794ff
movzx eax, byte [r12 + 0x18]
cmp al, 5
jne 0x479454
mov rdx, qword [r14 + 8]
test rdx, rdx
je 0x479e41
mov eax, dword [r14 + 0x18]
test eax, eax
jne 0x479510
mov rax, qword [r12 + 0x30]
mov edx, 5
mov qword [r12 + 0x50], rax
jmp 0x47953f
lea rdx, [0x004fadbd]
mov rcx, r15
call fcn.0042a590
mov r8d, 0x209001
lea rdx, [0x004fadbd]
test rax, rax
mov rsi, rax
jne 0x479173
mov rcx, r15
call fcn.0042aa10
test rax, rax
mov rsi, rax
jne 0x479173
cmp qword [rsp + 0x110], 0
jne 0x479011
jmp 0x47901e
mov rdx, qword [rax + 0x348]
test rdx, rdx
je 0x479f0b
mov rax, qword [rdx + 0x20]
test rax, rax
jne 0x479ec9
jmp 0x479f02
mov rax, qword [rax + 0x18]
test rax, rax
je 0x479f02
cmp di, word [rax + 6]
jne 0x479ec0
mov r12, qword [rax + 0x10]
test r12, r12
je 0x479f0b
mov rcx, qword [rsp + 0x238]
call sub.msvcrt.dll_strlen
mov rcx, r12
mov rdi, rax
call sub.msvcrt.dll_strlen
mov qword [rsp + 0xe8], rax
lea rdx, [rdi + rax + 2]
jmp 0x47920a
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x479eb1
mov r9d, dword [rsp + 0xe4]
mov rdx, r15
mov r8, qword [rsp + 0x238]
lea rcx, str._B:__s:_invalid_needed_version__d
call fcn.00423f70
mov ecx, 0x11
call fcn.00424130
jmp 0x479e91
mov r9, qword [rsp + 0xf8]
mov rcx, r15
mov qword [rsp + 0x30], 0
mov r8, qword [rsp + 0xd0]
mov qword [rsp + 0x28], 0
mov rdx, qword [rsp + 0xb0]
mov qword [rsp + 0x20], 0
call fcn.00461570
test rax, rax
mov qword [rsp + 0xd8], rax
je 0x478170
test rbp, rbp
jne 0x47843e
mov rax, qword [rsp + 0xd0]
mov rcx, r15
lea rdx, [rax*8]
call fcn.00429df0
test rax, rax
mov rbp, rax
je 0x479075
mov rax, qword [r15 + 0xf0]
mov qword [rax + 0x2f8], rbp
jmp 0x47843e
movzx edx, byte [r13 + 4]
mov rcx, r15
shr dl, 7
movzx edx, dl
call fcn.0046b1b0
test eax, eax
je 0x479066
mov rsi, qword [r15 + 0xf0]
mov qword [rsp + 0xf0], 0
mov r10d, dword [rsi + 0xc78]
test r10d, r10d
je 0x47845a
mov rcx, qword [rsi + 0x210]
call fcn.004280a0
test rax, rax
mov qword [rsp + 0xf0], rax
je 0x479066
mov rdx, qword [rsi + 0x208]
xor r8d, r8d
mov rcx, r15
mov rbx, qword [rsi + 0x210]
call fcn.00425e80
test eax, eax
jne 0x479059
mov rcx, qword [rsp + 0xf0]
mov r8, r15
mov rdx, rbx
call fcn.00425cd0
cmp rbx, rax
jne 0x479059
mov rsi, qword [r15 + 0xf0]
jmp 0x47845a
lea rax, [r10*8]
mov qword [rsp + 0x130], rax
lea rcx, [rdx + rax]
call fcn.004280a0
test rax, rax
mov qword [rsp + 0x110], rax
je 0x47904e
mov rcx, qword [rsp + 0x80]
mov edx, 1
call fcn.00427af0
test rax, rax
mov qword [rsp + 0x158], rax
je 0x47a0d8
mov rax, qword [rsp + 0x88]
xor r8d, r8d
mov rdx, r13
mov rcx, r15
call qword [rax + 0xf0]
test eax, eax
jne 0x47a88e
mov rcx, qword [rsp + 0x110]
call fcn.004d4f88
jmp 0x47904e
mov rax, qword [r15 + 0xf0]
mov edx, dword [rax + 0x338]
mov eax, edx
mov word [rsp + 0x258], dx
jmp 0x478aad
test byte [r15 + 0x42], 0x20
je 0x4796bd
mov eax, dword [r12 + 0x3c]
xor esi, esi
cmp eax, 0xffffffff
jne 0x4796d3
mov edi, dword [rsp + 0x128]
test edi, edi
jne 0x478e0d
mov r11d, dword [rsp + 0x210]
test r11d, r11d
je 0x478e0d
test byte [rsp + 0x90], 1
je 0x478e0d
test esi, esi
je 0x47972b
test byte [r12 + 0x5b], 0x10
je 0x47972b
mov r8, qword [rsp + 0x240]
test r8, r8
je 0x47a17b
test byte [r8 + 0x42], 0x20
jne 0x47972b
mov rsi, qword [r15 + 0xf0]
jmp 0x479784
mov rax, qword [rsp + 0x230]
mov rcx, qword [rsp + 0x238]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x228]
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x248], rax
movzx edi, byte [r12 + 0x5c]
test dil, 2
jne 0x479e0a
mov edx, 0x40
call sub.msvcrt.dll_strchr
test dil, 6
mov qword [rsp + 0xe8], rax
jne 0x4798e2
test rax, rax
je 0x47af66
mov rax, qword [rsp + 0xe8]
cmp byte [rax + 1], 0x40
je 0x47af40
or edi, 6
mov byte [r12 + 0x5c], dil
jmp 0x479e0a
mov qword [rsp + 0xe8], 0
lea r12, [0x004fad6c]
jmp 0x4791dc
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x40], 1
jne 0x478170
lea r8, str.elf_link_add_object_symbols
mov edx, 0xf57
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
call fcn.004240d0
mov dword [rsp + 0xa0], 0
xor edx, edx
jmp 0x4790c0
mov dword [rsp + 0x1f8], pe_nt_image_headers64
mov dword [rsp + 0xa0], 0
jmp 0x478912
mov r8, qword [rsp + 0x268]
mov edx, 0x18
mov rcx, r15
mov qword [rsp + 0xa0], r8
call fcn.00429930
mov r8, qword [rsp + 0xa0]
mov edx, r14d
mov rcx, r15
mov rsi, rax
call fcn.00461390
test rsi, rsi
je 0x47a563
test rax, rax
je 0x47a563
mov rcx, rax
mov qword [rsp + 0xa8], rax
call sub.msvcrt.dll_strlen
mov rcx, r15
lea r8, [rax + 1]
mov rdx, r8
mov qword [rsp + 0xa0], r8
call fcn.00429930
test rax, rax
je 0x47a563
mov r9, qword [rsp + 0xa8]
mov rcx, rax
mov r8, qword [rsp + 0xa0]
mov rdx, r9
call sub.msvcrt.dll_memcpy
mov qword [rsi], 0
mov rdx, qword [rsp + 0x250]
mov qword [rsi + 0x10], rax
mov qword [rsi + 8], r15
test rdx, rdx
jne 0x47a337
jmp 0x47abdd
mov rdx, rax
mov rax, qword [rdx]
test rax, rax
jne 0x47a334
mov qword [rdx], rsi
mov rax, qword [rsp + 0x260]
jmp 0x477fc4
mov r8, qword [rsp + 0x268]
mov edx, 0x18
mov rcx, r15
mov qword [rsp + 0xa0], r8
call fcn.00429930
mov r8, qword [rsp + 0xa0]
mov edx, r14d
mov rcx, r15
mov rsi, rax
call fcn.00461390
test rsi, rsi
je 0x47a563
test rax, rax
je 0x47a563
mov rcx, rax
mov qword [rsp + 0xa8], rax
call sub.msvcrt.dll_strlen
mov rcx, r15
lea r8, [rax + 1]
mov rdx, r8
mov qword [rsp + 0xa0], r8
call fcn.00429930
test rax, rax
je 0x47a563
mov r9, qword [rsp + 0xa8]
mov rcx, rax
mov r8, qword [rsp + 0xa0]
mov rdx, r9
call sub.msvcrt.dll_memcpy
mov qword [rsi], 0
mov qword [rsi + 0x10], rax
mov rax, qword [rsp + 0x80]
mov qword [rsi + 8], r15
mov rdx, qword [rax + 0xb8]
test rdx, rdx
jne 0x47a413
jmp 0x47abea
mov rdx, rax
mov rax, qword [rdx]
test rax, rax
jne 0x47a410
mov qword [rdx], rsi
mov rax, qword [rsp + 0x260]
jmp 0x477fba
test eax, eax
mov eax, 0
cmovne esi, eax
jmp 0x47963d
mov qword [rsp + 0x90], 0
xor r12d, r12d
mov rax, qword [r15 + 0xf0]
mov ecx, dword [rax + 0x3c]
mov rdx, qword [rax + 0x58]
lea rax, [rcx*8]
sub rax, rcx
lea rax, [rdx + rax*8]
jmp 0x47a47c
cmp dword [rax], 0x6474e552
je 0x47a5e0
sub rax, 0x38
cmp rdx, rax
jbe 0x47a470
mov rcx, r15
call fcn.0042a540
test r12, r12
je 0x47a882
cmp byte [r12], 0
mov rax, qword [r15 + 0xf0]
jne 0x47a4ba
mov r12, qword [rax + 0x308]
test r12, r12
je 0x47a4b7
cmp byte [r12], 0
jne 0x47a4ba
mov r12, qword [r15]
xor ebx, ebx
test byte [rsp + 0x98], 0xb
mov r8, r12
mov rdx, r13
mov qword [rax + 0x308], r12
mov rcx, r15
sete bl
mov r9d, ebx
mov dword [rsp + 0x128], ebx
call fcn.00477770
test eax, eax
mov dword [rsp + 0x12c], eax
js 0x478170
jne 0x477c15
mov rcx, qword [r15 + 0xf0]
mov rax, qword [rsp + 0x90]
mov r11d, dword [rcx + 0xc74]
mov qword [rcx + 0x310], rax
test r11d, r11d
je 0x4783b8
lea rax, [rcx + 0x150]
mov qword [rsp + 0xb0], rax
jmp 0x4783c4
mov rax, qword [rsp + 0x160]
mov dword [rsp + 0xb8], 0
mov qword [rsp + 0xa8], rax
add rax, 0x230
mov qword [rsp + 0x230], rax
jmp 0x47893c
mov rcx, qword [rsp + 0x258]
call fcn.004d4f88
jmp 0x478170
mov rdx, qword [r14 + 8]
test rdx, rdx
jne 0x479508
mov edx, eax
movzx eax, byte [r14 + 0x14]
and al, 0xf
je 0x4795c3
movzx ecx, byte [r12 + 0x58]
mov r8d, dword [rsp + 0x204]
test r8d, r8d
je 0x47a5ad
cmp dl, 5
je 0x47956e
test cl, cl
jne 0x4795c3
jmp 0x47956e
cmp qword [r12 + 0x68], 0
jne 0x478dc0
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x150], r12
mov qword [r12 + 0x68], rax
jmp 0x478dc0
mov rdx, qword [r15 + 0x88]
test rdx, rdx
je 0x47a485
mov ecx, dword [rdx + 0x20]
test cl, 1
je 0x47a620
mov r9, qword [rdx + 0x28]
mov r8, qword [rax + 0x10]
cmp r9, r8
jb 0x47a620
add r9, qword [rdx + 0x38]
add r8, qword [rax + 0x28]
cmp r9, r8
ja 0x47a620
or ecx, 8
mov dword [rdx + 0x20], ecx
nop dword [rax + rax]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x47a5f0
jmp 0x47a485
mov rax, qword [r13 + 0x50]
mov rbx, qword [r15 + 8]
cmp qword [rax + 8], rbx
jne 0x47839b
mov rax, qword [rsp + 0x80]
mov ebx, dword [rax + 0x4c]
test ebx, ebx
jne 0x47839b
mov rdx, r13
mov rcx, r15
call fcn.00474890
test eax, eax
jne 0x47839b
jmp 0x478170
mov rcx, qword [r14]
call fcn.00428820
cmp eax, edi
jbe 0x4794ff
mov r9, qword [rsp + 0x240]
mov edx, 1
mov ecx, edi
mov r10, qword [rsp + 0x238]
mov r8d, edx
shl r8d, cl
mov ecx, eax
shl edx, cl
test r9, r9
mov qword [rsp + 0x98], r10
jne 0x47b11f
mov rax, qword [r12 + 0x28]
mov r9, r15
mov dword [rsp + 0x20], r8d
mov r8, r10
lea rcx, str.Warning:_alignment__u_of_common_symbol___s_in__B_is_greater_than_the_alignment___u__of_its_section__A
mov qword [rsp + 0x28], rax
call fcn.00423f70
jmp 0x4794ff
mov r9d, dword [rsp + 0xe4]
mov dword [rsp + 0x20], ecx
mov rdx, r15
mov r8, qword [rsp + 0x238]
lea rcx, str._B:__s:_invalid_version__u__max__d_
call fcn.00423f70
mov ecx, 0x11
call fcn.00424130
jmp 0x479e91
movzx edx, word [rax + 0x24]
and dx, 0x380
sub dx, 0x100
test dx, 0xfe80
je 0x479860
mov dword [rsp + 0xb8], 1
mov rax, rdi
add rax, 0x118
mov qword [rsp + 0x230], rax
mov dword [r14 + 0x18], 0
jmp 0x47893c
or byte [r12 + 0x5b], 8
or byte [rdi + 0x5b], 8
jmp 0x4798a5
movzx eax, byte [r12 + 0x5b]
or eax, 2
test al, 8
mov byte [r12 + 0x5b], al
je 0x4793db
and eax, 0xfffffff7
or eax, 4
mov byte [r12 + 0x5b], al
jmp 0x4793db
mov rax, rbx
mov qword [rsp + 0xa0], rbx
mov r15, qword [rsp + 0xb0]
movzx eax, byte [rax + 0x14]
mov edi, dword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
mov edx, eax
shr dl, 4
cmp dl, 1
je 0x47a7ba
cmp dl, 9
jbe 0x478685
mov rdx, qword [r14 + 8]
mov ecx, eax
and ecx, 0xf
mov r14, qword [rdx + 0x360]
call qword [r14 + 0x2c0]
test eax, eax
jne 0x478685
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rax + 0x18]
test ecx, ecx
je 0x478685
mov rcx, qword [rsp + 0xa0]
call qword [r14 + 0x298]
test eax, eax
jne 0x478685
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rax + 0x18]
add eax, 0x100
cmp eax, 0xf0
jbe 0x47868d
call fcn.004d4f88
jmp 0x47827c
cmp r8, rdx
je 0x47952b
test r8, r8
je 0x47952b
mov r10d, dword [rsp + 0x1fc]
test r10d, r10d
jne 0x47952b
mov qword [rsp + 0x20], rdx
mov r9, qword [rsp + 0x240]
lea rcx, str.Warning:_size_of_symbol___s_changed_from__Lu_in__B_to__Lu_in__B
mov rdx, qword [rsp + 0x238]
mov qword [rsp + 0x28], r15
call fcn.00423f70
mov rdx, qword [r14 + 8]
jmp 0x47952b
mov rax, qword [r15 + 0xf0]
jmp 0x47a4a4
mov rbx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rbx]
call sub.msvcrt.dll_memcpy
mov rax, rbx
mov rbx, qword [rbx + 0x28]
mov rcx, qword [rax + 0x90]
mov qword [rsp + 0x168], rbx
mov rbx, qword [rax + 0x30]
mov qword [rsp + 0x170], rbx
mov rbx, qword [rax]
mov qword [rsp + 0x178], rbx
mov ebx, dword [rax + 0x18]
mov dword [rsp + 0x180], ebx
mov ebx, dword [rax + 0x1c]
mov dword [rsp + 0x184], ebx
call fcn.00486000
test rax, rax
mov qword [rsp + 0x120], rax
je 0x47a0d8
mov rdi, qword [rsp + 0x80]
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x4787ae
mov r9, qword [rsp + 0x110]
xor ebx, ebx
add r9, qword [rsp + 0x130]
mov rdx, qword [rdi]
mov eax, ebx
mov rsi, qword [rdx + rax*8]
test rsi, rsi
je 0x47a97b
mov r8d, dword [rdi + 0x20]
jmp 0x47a948
mov rsi, qword [rsi]
test rsi, rsi
je 0x47a97b
mov rcx, r9
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov r8d, dword [rdi + 0x20]
mov r9, rax
add r9, r8
cmp byte [rsi + 0x18], 7
jne 0x47a940
mov rdx, qword [rsi + 0x28]
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov r8d, dword [rdi + 0x20]
mov r9, rax
add r9, r8
jmp 0x47a940
add ebx, 1
cmp ebx, dword [rdi + 0x18]
jb 0x47a92c
jmp 0x4787ae
mov rcx, qword [rsp + 0x2c8]
mov rdx, r12
call fcn.00474d30
test eax, eax
je 0x479e91
test byte [r12 + 0x5d], 0x20
je 0x47a121
mov rax, r12
mov rax, qword [rax + 0x68]
test byte [rax + 0x5d], 0x20
jne 0x47a9af
cmp dword [rax + 0x3c], 0xffffffff
jne 0x47a121
mov rdx, r12
mov rdx, qword [rdx + 0x68]
test byte [rdx + 0x5d], 0x20
jne 0x47a9c6
mov rcx, qword [rsp + 0x2c8]
call fcn.00474d30
test eax, eax
jne 0x47a121
jmp 0x479e91
mov qword [rsp + 0x130], 0
xor ecx, ecx
jmp 0x47a084
mov r14d, dword [rsp + 0xc8]
mov r13, qword [rsp + 0x2c8]
call fcn.004d4f88
test rsi, rsi
je 0x47b38e
mov qword [rsp + 0x248], rsi
mov rax, qword [rsp + 0x80]
mov rdx, qword [rax + 0x158]
test rdx, rdx
jne 0x47aa45
jmp 0x47af52
mov rdx, rax
mov rax, qword [rdx]
test rax, rax
jne 0x47aa42
mov qword [rdx], rsi
jmp 0x47a449
mov dword [rsp + 0x128], 0
jmp 0x478e0d
mov r8, qword [rsp + 0xd0]
xor edx, edx
mov rcx, qword [rax + 0x2f8]
mov rsi, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x130]
shl r8, 3
call sub.msvcrt.dll_memset
mov rbx, qword [rsp + 0x80]
mov eax, dword [rsp + 0x180]
mov rdx, rsi
mov r14, rsi
mov rcx, qword [rsp + 0x178]
mov r8, rdi
add r14, rdi
mov dword [rbx + 0x18], eax
mov eax, dword [rsp + 0x184]
mov qword [rbx], rcx
mov dword [rbx + 0x1c], eax
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x168]
mov rsi, qword [rsp + 0x120]
mov rcx, qword [rbx + 0x90]
mov qword [rbx + 0x28], rax
mov rax, qword [rsp + 0x170]
mov rdx, rsi
mov qword [rbx + 0x30], rax
call fcn.00486050
mov rcx, rsi
call fcn.004d4f88
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x47812a
mov qword [rsp + 0x2c8], r13
xor edi, edi
mov r13, rbx
mov rdx, qword [r13]
mov eax, edi
mov rsi, qword [rdx + rax*8]
test rsi, rsi
jne 0x47ab4d
jmp 0x478115
movzx eax, byte [rdx + 0x19]
and ebx, 1
add ebx, ebx
and eax, 0xfffffffd
or ebx, eax
mov byte [rdx + 0x19], bl
mov rsi, qword [rsi]
test rsi, rsi
je 0x478115
movzx edx, byte [rsi + 0x18]
mov rax, rsi
cmp dl, 7
jne 0x47ab61
mov rax, qword [rsi + 0x28]
movzx edx, byte [rax + 0x18]
xor ebp, ebp
xor r12d, r12d
cmp dl, 5
jne 0x47ab75
mov rdx, qword [rax + 0x28]
mov r12, qword [rax + 0x30]
mov ebp, dword [rdx]
mov r8d, dword [r13 + 0x20]
mov rdx, r14
mov rcx, rsi
movzx ebx, byte [rax + 0x19]
call sub.msvcrt.dll_memcpy
mov r8d, dword [r13 + 0x20]
mov rdx, rsi
movzx eax, byte [rsi + 0x18]
shr bl, 1
and ebx, 1
add r14, r8
cmp al, 7
je 0x47abc0
cmp al, 5
jne 0x47ab30
cmp qword [rdx + 0x30], r12
jae 0x47abad
mov qword [rdx + 0x30], r12
mov rax, qword [rdx + 0x28]
cmp dword [rax], ebp
jae 0x47ab30
mov dword [rax], ebp
jmp 0x47ab30
mov rcx, qword [rsi + 0x28]
mov rdx, r14
call sub.msvcrt.dll_memcpy
mov eax, dword [r13 + 0x20]
mov rdx, qword [rsi + 0x28]
add r14, rax
movzx eax, byte [rdx + 0x18]
jmp 0x47ab9f
mov rdx, qword [rsp + 0xb8]
jmp 0x47a33f
mov rdx, qword [rsp + 0xb0]
jmp 0x47a41b
lea rdx, str..tcommon
mov r8d, 0x101401
jmp 0x479e7d
mov rcx, qword [rsp + 0x110]
call fcn.004d4f88
movzx eax, byte [r13]
and eax, 3
cmp al, 2
je 0x47ad0c
cmp qword [rsp + 0x118], 0
je 0x47ad0c
cmp qword [rsp + 0x140], 0
je 0x47acff
xor edi, edi
mov r12, qword [rsp + 0x88]
jmp 0x47ac62
add rdi, 1
cmp rdi, qword [rsp + 0x140]
je 0x47acff
mov rax, qword [rsp + 0x118]
mov edx, 0x40
mov rbx, qword [rax + rdi*8]
mov rbp, qword [rbx + 8]
mov rcx, rbp
call sub.msvcrt.dll_strchr
test rax, rax
je 0x47ac50
movzx esi, byte [rbx + 0x18]
lea edx, [rsi - 3]
cmp dl, 1
ja 0x47ac50
sub rax, rbp
lea rcx, [rax + 1]
mov rsi, rax
call fcn.004280a0
test rax, rax
mov rbp, rax
je 0x47b1ae
mov rdx, qword [rbx + 8]
mov r8, rsi
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov byte [rbp + rsi], 0
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rsp + 0x80]
mov dword [rsp + 0x20], 0
mov rdx, rbp
call fcn.004a64c0
test rax, rax
mov rsi, rax
je 0x47acf2
movzx eax, byte [rbx + 0x18]
cmp byte [rsi + 0x18], al
je 0x47b095
mov rcx, rbp
call fcn.004d4f88
jmp 0x47ac50
mov rcx, qword [rsp + 0x118]
call fcn.004d4f88
cmp qword [rsp + 0x150], 0
je 0x47af80
mov rsi, qword [rsp + 0xd0]
shl rsi, 3
mov rcx, rsi
call fcn.004280a0
test rax, rax
mov rbx, rax
je 0x478170
mov rax, qword [r15 + 0xf0]
mov rdi, qword [rax + 0x2f8]
add rsi, rdi
cmp rdi, rsi
jae 0x47b19b
mov rdx, rbx
xor ebp, ebp
mov r12, qword [rdi]
test r12, r12
je 0x47ad9d
cmp byte [r12 + 0x18], 3
jne 0x47ad9d
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x90], rdx
movzx ecx, byte [r12 + 0x58]
call qword [rax + 0x2c0]
mov rdx, qword [rsp + 0x90]
test eax, eax
jne 0x47ad9d
mov qword [rdx], r12
add rbp, 1
add rdx, 8
add rdi, 8
cmp rsi, rdi
ja 0x47ad5a
lea r9, [0x0046fd40]
mov r8d, 8
mov rdx, rbp
mov rcx, rbx
call sub.msvcrt.dll_qsort
mov rsi, qword [rsp + 0x150]
jmp 0x47addc
test r12, r12
mov rsi, r12
je 0x47af78
movzx eax, byte [rsi + 0x18]
mov r12, qword [rsi + 0x68]
mov qword [rsi + 0x68], 0
sub eax, 3
cmp al, 1
ja 0x47add0
test rbp, rbp
mov r9, qword [rsi + 0x28]
mov r8, qword [rsi + 0x30]
je 0x47add0
mov r10, rbp
xor edx, edx
jmp 0x47ae12
je 0x47ae28
lea rdx, [rax + 1]
cmp r10, rdx
je 0x47add0
lea rax, [r10 + rdx]
shr rax, 1
mov rcx, qword [rbx + rax*8]
cmp r8, qword [rcx + 0x30]
jns 0x47ae07
mov r10, rax
jmp 0x47ae0d
mov r11, qword [rcx + 0x28]
mov ecx, dword [r9 + 8]
sub ecx, dword [r11 + 8]
js 0x47ae23
add rax, 1
test ecx, ecx
je 0x47ae57
mov rdx, rax
jmp 0x47ae0d
mov rcx, qword [rbx + rax*8]
cmp r9, qword [rcx + 0x28]
jne 0x47ae5c
cmp r8, qword [rcx + 0x30]
jne 0x47ae5c
add rax, 1
cmp rax, r10
jne 0x47ae43
sub rax, 1
sub rdx, 1
cmp rax, rdx
je 0x47add0
mov rdi, qword [rbx + rax*8]
cmp r9, qword [rdi + 0x28]
jne 0x47add0
cmp r8, qword [rdi + 0x30]
jne 0x47add0
sub rax, 1
cmp rdi, rsi
je 0x47ae64
or byte [rsi + 0x5d], 0x20
mov qword [rsi + 0x68], rdi
mov rax, rdi
cmp qword [rdi + 0x68], 0
jne 0x47aea5
jmp 0x47aeae
mov rax, rdx
mov rdx, qword [rax + 0x68]
cmp rdi, rdx
jne 0x47aea2
cmp dword [rsi + 0x3c], 0xffffffff
mov qword [rax + 0x68], rsi
mov eax, dword [rdi + 0x3c]
je 0x47b07d
add eax, 1
jne 0x47add0
mov rdx, rdi
mov rcx, r13
call fcn.00474d30
test eax, eax
je 0x47aefe
cmp dword [rdi + 0x3c], 0xffffffff
je 0x47add0
cmp dword [rsi + 0x3c], 0xffffffff
jne 0x47add0
mov rdx, rsi
mov rcx, r13
call fcn.00474d30
test eax, eax
jne 0x47add0
mov rcx, rbx
xor r14d, r14d
call fcn.004d4f88
jmp 0x477c15
mov rax, qword [rsp + 0xc8]
sub rax, r14
sar rax, 5
lea rcx, [rax*8 + 8]
call fcn.004280a0
test rax, rax
mov qword [rsp + 0x118], rax
jne 0x47969d
jmp 0x479e91
mov eax, edi
and eax, 0xfffffff9
or eax, 4
mov byte [r12 + 0x5c], al
jmp 0x4798f1
mov rax, qword [rsp + 0x80]
lea rdx, [rax + 0x158]
jmp 0x47aa4d
mov eax, edi
and eax, 0xfffffff9
or eax, 2
mov byte [r12 + 0x5c], al
jmp 0x479e0a
mov rcx, rbx
call fcn.004d4f88
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0xe8]
test rax, rax
je 0x47afa4
mov rdx, r13
mov rcx, r15
call rax
test eax, eax
je 0x478170
test r14d, r14d
jne 0x47afcd
test byte [r13 + 4], 0x20
jne 0x47afcd
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x40], 1
jne 0x477c4c
test byte [r13 + 1], 0x20
je 0x47b1fd
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x40], 1
jne 0x477c4c
cmp dword [rsp + 0x128], 0
je 0x477c4c
mov edx, 0x10
mov rcx, r15
call fcn.00429930
test rax, rax
je 0x478170
mov rbx, qword [rsp + 0x80]
mov qword [rax + 8], r15
mov r14d, 1
mov rdx, qword [rbx + 0x170]
mov qword [rax], rdx
mov qword [rbx + 0x170], rax
jmp 0x477c15
mov rax, qword [rsp + 0xc0]
jmp 0x4780b0
call fcn.004d4f88
mov rax, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rax + 0x10]
call fcn.004d0c40
cmp qword [rsp + 0x118], 0
je 0x477c4c
mov rcx, qword [rsp + 0x118]
mov r14d, 1
call fcn.004d4f88
jmp 0x477c15
add eax, 1
je 0x47add0
jmp 0x47aeeb
mov esi, 1
jmp 0x479c80
mov rax, qword [rbx + 0x30]
cmp qword [rsi + 0x30], rax
jne 0x47acf2
mov rax, qword [rbx + 0x28]
cmp qword [rsi + 0x28], rax
jne 0x47acf2
mov r8d, 1
mov rdx, rsi
mov rcx, r13
call qword [r12 + 0x1b0]
mov rdx, rbx
mov byte [rsi + 0x18], 6
mov r8, rsi
mov qword [rsi + 0x28], rbx
mov rcx, r13
call qword [r12 + 0x1a8]
mov rax, qword [r15 + 0xf0]
xor edx, edx
mov rax, qword [rax + 0x2f8]
test rax, rax
jne 0x47b0fc
jmp 0x47acf2
add rdx, 1
cmp qword [rsp + 0xd0], rdx
je 0x47acf2
mov rcx, rax
add rax, 8
cmp rsi, qword [rax - 8]
jne 0x47b0f8
mov qword [rcx], rbx
jmp 0x47acf2
mov r8, r15
jmp 0x4794ce
movzx eax, byte [r9 + 0x18]
sub eax, 6
cmp al, 1
ja 0x47b14a
mov rdx, qword [rdx + 0x28]
movzx eax, byte [rdx + 0x18]
sub eax, 6
cmp al, 1
jbe 0x47b133
mov qword [rsp + 0x250], rdx
movzx eax, byte [r12 + 0x5b]
mov byte [r12 + 0x18], 6
mov qword [r12 + 0x28], rdx
test al, 8
je 0x47b175
and eax, 0xfffffff7
mov byte [r12 + 0x5b], al
movzx eax, byte [rdx + 0x5b]
or eax, 4
test al, 3
mov byte [rdx + 0x5b], al
jne 0x47b185
mov qword [rsp + 0x250], r12
mov r9, r12
jmp 0x479bd3
mov rcx, qword [rsp + 0x2c8]
call fcn.00474d30
test eax, eax
jne 0x47b175
jmp 0x479e91
xor ebp, ebp
jmp 0x47ada6
movzx esi, byte [rdx + 0x5b]
and esi, 1
jmp 0x479c80
cmp qword [rsp + 0x120], 0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xf0], 0
jne 0x479029
jmp 0x479041
mov r8, qword [rsp + 0x238]
lea rcx, str._B:_undefined_reference_to_symbol__s
call fcn.00423f70
mov ecx, 0xb
call fcn.00424130
jmp 0x479e91
lea rdx, [0x004fafbf]
mov rcx, r15
call fcn.0042a590
test rax, rax
mov rdi, rax
je 0x47afcd
mov rax, qword [0x00521260]
mov qword [rsp + 0x260], 0
mov rbx, qword [r15 + 0x88]
mov rbp, qword [0x00521300]
lea rsi, [rax + 0x230]
test rbx, rbx
je 0x47afcd
mov r12, qword [rbx]
lea rdx, [0x004fafc8]
mov r8d, 5
mov rcx, r12
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x47b273
movzx eax, byte [r12 + 5]
test al, al
je 0x47b286
cmp al, 0x2e
je 0x47b279
mov rbx, qword [rbx + 0x10]
jmp 0x47b240
movzx eax, byte [r12 + 6]
test byte [rbp + rax*2], 4
je 0x47b273
test byte [rbx + 0x22], 0x80
jne 0x47b273
cmp qword [rbx + 0x68], rsi
je 0x47b273
mov r12, qword [rbx + 0xe0]
mov r9, rdi
mov r8, rbx
mov rcx, r15
mov rax, qword [rsp + 0x80]
lea rdx, [rax + 0xf0]
lea rax, [rsp + 0x260]
mov qword [rsp + 0x28], rax
lea rax, [r12 + 0xd8]
mov qword [rsp + 0x20], rax
call fcn.004ac0c0
test eax, eax
je 0x47b4b2
cmp qword [r12 + 0xd8], 0
je 0x47b273
movzx eax, word [rbx + 0x24]
and ax, 0xfc7f
or al, 0x80
mov word [rbx + 0x24], ax
jmp 0x47b273
mov rax, qword [rsp + 0x2c8]
mov rcx, qword [rax + 0xe0]
test rcx, rcx
je 0x479b23
mov rdx, qword [r9 + 8]
lea r8, [rsp + 0x258]
mov qword [rsp + 0x1a0], r9
call fcn.004a93f0
mov r9, qword [rsp + 0x1a0]
mov qword [r9 + 0x70], rax
mov r9, qword [rsp + 0x250]
mov rax, qword [r9 + 0x70]
test rax, rax
je 0x479b23
cmp dword [rsp + 0x258], 0
je 0x479aec
mov rax, qword [rsp + 0x190]
mov r8d, 1
mov rdx, r9
mov rcx, qword [rsp + 0x2c8]
call qword [rax + 0x1b0]
jmp 0x479c80
mov rcx, rbx
xor r12d, r12d
call fcn.004d4f88
mov qword [rsp + 0x90], 0
mov rsi, qword [rsp + 0x248]
test rsi, rsi
je 0x47a449
jmp 0x47aa29
mov qword [rsp + 0x258], rax
mov r8, rdi
mov rdx, r15
mov rcx, qword [rsp + 0x2c8]
lea rax, [rsp + 0x258]
mov dword [rsp + 0x38], 0
mov r9d, 0x2000
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x198]
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xa8]
add rax, 0x348
mov qword [rsp + 0x20], rax
call fcn.004a72f0
test eax, eax
je 0x479e91
mov r8, qword [rsp + 0x258]
cmp byte [r8 + 0x18], 6
mov qword [rsp + 0x250], r8
jne 0x479e0a
mov rax, qword [rsp + 0x190]
mov rdx, r12
mov rcx, qword [rsp + 0x2c8]
call qword [rax + 0x1a8]
mov rdx, qword [rsp + 0x250]
movzx eax, byte [r12 + 0x5d]
movzx ecx, byte [rdx + 0x5d]
or ecx, eax
and eax, 0xfffffffe
and ecx, 1
or eax, ecx
mov byte [r12 + 0x5d], al
movzx eax, byte [rdx + 0x5c]
mov ecx, eax
or ecx, dword [r12 + 0x5c]
and eax, 0x7f
and ecx, 0xffffff80
or eax, ecx
test esi, esi
mov byte [rdx + 0x5c], al
jne 0x47b4a8
cmp dword [rsp + 0x19c], 0
jne 0x47b4c5
mov rax, qword [rsp + 0x2c8]
movzx eax, byte [rax]
mov byte [rsp + 0x98], al
and eax, 3
cmp al, 1
jbe 0x47b4ba
mov esi, 1
jmp 0x479e0a
mov r14d, eax
jmp 0x477c15
test byte [rdx + 0x5b], 4
jne 0x47b4a8
jmp 0x479e0a
test byte [rdx + 0x5b], 1
jne 0x47b4a8
jmp 0x479e0a