Function at 0x43b0a8
Capabilities:
Load assembly via iassembly

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1d8
mov qword [rsp + 0x1c0], 0xfffffffffffffffe
mov r12, r9
mov rsi, r8
mov bpl, dl
mov r15, rcx
mov qword [rsp + 0x20], 0
mov edi, dword [rcx + 8]
mov r13, qword [rsp + 0x240]
test r13, r13
je 0x43b167
mov edi, dword [r13 + 0xc0]
test edi, edi
jns 0x43b102
mov eax, 0x80004001
jmp 0x43cd05
mov rbx, qword [r13]
mov qword [rsp + 0x220], rbx
test rbx, rbx
je 0x43b11d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
nop
mov rax, qword [rbx]
lea r8, [rsp + 0x20]
lea rdx, [0x0045ae50]
mov rcx, rbx
call qword [rax]
test eax, eax
je 0x43b159
lea rax, str.update_operations_are_not_supported_for_this_archive
mov qword [rsp + 0x240], rax
lea rdx, [0x0046f410]
lea rcx, [rsp + 0x240]
call sub.msvcrt.dll__CxxThrowException
nop
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
jmp 0x43b212
lea r8, [rsp + 0x20]
mov edx, edi
mov rcx, rsi
call fcn.0043a06c
mov ebx, eax
test eax, eax
je 0x43b193
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x43b18c
mov rdx, qword [rcx]
call qword [rdx + 0x10]
mov eax, ebx
jmp 0x43cd05
mov qword [rsp + 0x220], 0
mov rcx, qword [rsp + 0x20]
mov rax, qword [rcx]
lea r8, [rsp + 0x220]
lea rdx, [0x0045ad40]
call qword [rax]
mov rcx, qword [rsp + 0x220]
test rcx, rcx
je 0x43b207
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x18]
mov ebx, eax
test eax, eax
je 0x43b1ff
mov rcx, qword [rsp + 0x220]
test rcx, rcx
je 0x43b1e8
mov rdx, qword [rcx]
call qword [rdx + 0x10]
nop
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x43b1f8
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, ebx
jmp 0x43cd05
mov rcx, qword [rsp + 0x220]
test rcx, rcx
je 0x43b212
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x20]
test rcx, rcx
jne 0x43b240
lea rax, str.update_operations_are_not_supported_for_this_archive
mov qword [rsp + 0x240], rax
lea rdx, [0x0046f410]
lea rcx, [rsp + 0x240]
call sub.msvcrt.dll__CxxThrowException
int3
mov rax, qword [rcx]
lea rdx, [rsp + 0x220]
call qword [rax + 0x20]
mov ebx, eax
test eax, eax
je 0x43b26b
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x43b264
mov rdx, qword [rcx]
call qword [rdx + 0x10]
mov eax, ebx
jmp 0x43cd05
mov r8d, dword [rsp + 0x220]
cmp r8d, 2
ja 0x43ccf0
mov ecx, edi
mov rax, qword [rsi + 0x50]
mov rdx, qword [rax + rcx*8]
xor esi, esi
cmp byte [r15 + 0x126], sil
je 0x43b2b4
mov eax, dword [rdx]
shr eax, 1
test al, 1
jne 0x43b2b4
mov rcx, qword [rsp + 0x20]
cmp rcx, rsi
je 0x43b2aa
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, 0x80004001
jmp 0x43cd05
cmp byte [r15 + 0x124], sil
je 0x43b2e0
mov eax, dword [rdx]
shr eax, 2
test al, 1
jne 0x43b2e0
mov rcx, qword [rsp + 0x20]
cmp rcx, rsi
je 0x43b2d6
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, 0x80004001
jmp 0x43cd05
mov qword [rsp + 0x38], rsi
mov ecx, esi
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x44], esi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x34], esi
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0x100], rsi
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0x110], rsi
mov qword [rsp + 0x118], rsi
mov qword [rsp + 0x120], rsi
mov qword [rsp + 0x128], rsi
mov qword [rsp + 0x130], rsi
mov qword [rsp + 0x138], rsi
mov qword [rsp + 0x140], rsi
mov qword [rsp + 0x148], rsi
mov qword [rsp + 0x150], rsi
mov qword [rsp + 0x158], rsi
mov qword [rsp + 0x160], rsi
mov qword [rsp + 0x168], rsi
mov qword [rsp + 0x170], rsi
mov qword [rsp + 0x178], rsi
mov qword [rsp + 0x180], rsi
mov qword [rsp + 0x188], rsi
mov qword [rsp + 0x190], rsi
mov qword [rsp + 0x198], rsi
mov qword [rsp + 0x1a0], rsi
mov qword [rsp + 0x1a8], rsi
mov qword [rsp + 0x1b0], rsi
cmp dword [r15 + 0x138], esi
je 0x43b73c
mov edi, esi
mov dword [rsp + 0x220], esi
mov r14, qword [rsp + 0x250]
cmp dword [r14 + 8], esi
jbe 0x43b7d4
mov r12, rsi
mov qword [rsp + 0x60], rsi
mov rax, qword [r14]
mov rbx, qword [r12 + rax]
lea rcx, [rsp + 0x78]
call fcn.004032ec
nop
xor ecx, ecx
cmp byte [rbx + 0x24], cl
je 0x43b58a
mov edi, ecx
cmp dword [r15 + 0x138], ecx
jbe 0x43b583
mov rbp, rcx
mov rax, qword [r15 + 0x130]
mov r14, qword [rax + rbp]
lea r9, [rsp + 0x78]
lea r8, [rbx + 0x10]
mov dl, byte [rbx + 0x20]
mov rcx, r14
call fcn.00439b10
xor ecx, ecx
cmp al, cl
jne 0x43b4dd
cmp byte [rbx + 0x21], cl
je 0x43b4a9
mov rcx, qword [rbx + 0x10]
call fcn.0042e8f8
mov r12d, eax
xor ecx, ecx
cmp eax, ecx
jl 0x43b4a9
mov r8d, eax
lea rdx, [rsp + 0x68]
lea rcx, [rbx + 0x10]
call fcn.00412a98
nop
lea r9, [rsp + 0x78]
lea r8, [rsp + 0x68]
xor edx, edx
mov rcx, r14
call fcn.00439b10
test al, al
jne 0x43b501
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_free
xor ecx, ecx
inc edi
add rbp, 8
cmp edi, dword [r15 + 0x138]
jb 0x43b433
mov edi, dword [rsp + 0x220]
mov r12, qword [rsp + 0x60]
mov r13, qword [rsp + 0x240]
mov r14, qword [rsp + 0x250]
jmp 0x43b58a
mov sil, 1
mov edi, dword [rsp + 0x220]
mov r12, qword [rsp + 0x60]
mov r13, qword [rsp + 0x240]
mov r14, qword [rsp + 0x250]
jmp 0x43b58a
mov sil, 1
mov edx, dword [rsp + 0x80]
cmp dword [rsp + 0x84], edx
jne 0x43b525
lea rcx, [rsp + 0x78]
call fcn.004030d0
mov edx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
mov eax, edx
mov word [rcx + rax*2], 0x3a
inc edx
mov word [rcx + rdx*2], 0
mov dword [rsp + 0x80], edx
lea ecx, [r12 + 1]
mov rax, qword [rbx + 0x10]
lea rdx, [rax + rcx*2]
lea rcx, [rsp + 0x78]
call fcn.004036bc
nop
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_free
mov edi, dword [rsp + 0x220]
mov r12, qword [rsp + 0x60]
mov r13, qword [rsp + 0x240]
mov r14, qword [rsp + 0x250]
xor ecx, ecx
jmp 0x43b58a
mov edi, dword [rsp + 0x220]
mov byte [rsp + 0x48], cl
mov byte [rsp + 0x49], cl
mov byte [rsp + 0x4a], cl
mov byte [rsp + 0x4b], cl
mov dword [rsp + 0x4c], 0xffffffff
mov dword [rsp + 0x50], 0xffffffff
mov dword [rsp + 0x54], 0xffffffff
mov byte [rsp + 0x58], cl
mov eax, dword [rbx + 0x28]
mov byte [rsp + 0x49], cl
mov byte [rsp + 0x48], cl
mov byte [rsp + 0x4a], 1
mov byte [rsp + 0x4b], cl
mov dword [rsp + 0x50], eax
cmp sil, cl
je 0x43b634
mov byte [rsp + 0x49], 1
lea r9, [rsp + 0x4b]
mov r8d, 0x15
mov edx, edi
mov rcx, qword [r13]
call fcn.0042e718
mov ebp, eax
xor esi, esi
cmp eax, esi
jne 0x43b6c9
lea ecx, [rsi + 0x10]
call fcn.004021d0
mov qword [rsp + 0x220], rax
cmp rax, rsi
je 0x43b61e
lea rdx, [rsp + 0x78]
mov rcx, rax
call fcn.004033f8
jmp 0x43b621
mov rax, rsi
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.004010c0
mov dword [rsp + 0x54], eax
jmp 0x43b636
xor esi, esi
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x48]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov eax, dword [rcx + 0x10]
mov dword [rdx + 0x10], eax
lea rcx, [rsp + 0x38]
call fcn.00439fd4
mov r11d, dword [rsp + 0x40]
lea rcx, [r11 + r11*4]
mov rax, qword [rsp + 0x38]
lea rcx, [rax + rcx*4]
lea rdx, [rsp + 0xc0]
mov r8d, 0x14
call sub.msvcrt.dll_memcpy
inc dword [rsp + 0x40]
mov rcx, qword [rsp + 0x78]
call sub.msvcrt.dll_free
inc edi
mov dword [rsp + 0x220], edi
add r12, 8
mov qword [rsp + 0x60], r12
cmp edi, dword [r14 + 8]
jb 0x43b404
mov ecx, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x280]
mov rdi, qword [rsp + 0x260]
jmp 0x43b7e4
mov rcx, qword [rsp + 0x78]
call sub.msvcrt.dll_free
nop
movsxd rbx, dword [rsp + 0x30]
mov rdi, rbx
cmp ebx, esi
je 0x43b70f
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x28]
mov rsi, qword [rdi + rax]
test rsi, rsi
je 0x43b709
mov rcx, qword [rsi]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
xor esi, esi
cmp ebx, esi
jne 0x43b6e4
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
cmp rcx, rsi
je 0x43b735
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, ebp
jmp 0x43cd05
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x54], esi
lea r9, [rsp + 0x48]
mov r14, qword [rsp + 0x250]
mov rdx, r14
mov rdi, qword [rsp + 0x260]
mov rcx, rdi
call fcn.00443128
lea r11, [0x00458230]
mov qword [rsp + 0xc0], r11
mov qword [rsp + 0xc8], r14
lea rax, [rsp + 0x170]
mov qword [rsp + 0xd0], rax
mov rbx, qword [rsp + 0x280]
mov qword [rsp + 0xd8], rbx
neg bpl
sbb r9, r9
lea rax, [rsp + 0xc0]
and r9, rax
lea r8, [rsp + 0x38]
mov rdx, r12
lea rcx, [rsp + 0x48]
call fcn.00443a0c
nop
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_free
mov ecx, dword [rsp + 0x40]
jmp 0x43b7e4
mov rbx, qword [rsp + 0x280]
mov rdi, qword [rsp + 0x260]
cmp ecx, esi
jbe 0x43b925
mov rax, qword [rsp + 0x38]
lea r8, [rax + 3]
mov r9d, ecx
mov al, byte [r8 - 3]
cmp al, sil
je 0x43b8a6
cmp byte [r8 - 1], sil
jne 0x43b8a6
cmp dword [r8 + 1], 0xffffffff
je 0x43b918
mov ecx, dword [r8 + 1]
mov rax, qword [rdi + 0x30]
mov rdx, qword [rax + rcx*8]
mov eax, dword [rdx + 0x50]
shr eax, 4
test al, 1
je 0x43b84f
cmp byte [r8], sil
je 0x43b842
inc qword [rsp + 0x110]
jmp 0x43b918
inc qword [rsp + 0xe0]
jmp 0x43b918
cmp byte [rdx + 0x60], sil
je 0x43b87f
cmp byte [r8], sil
je 0x43b867
inc qword [rsp + 0x120]
jmp 0x43b918
inc qword [rsp + 0xf0]
mov rax, qword [rdx]
add qword [rsp + 0x100], rax
jmp 0x43b918
cmp byte [r8], sil
je 0x43b891
inc qword [rsp + 0x118]
jmp 0x43b918
inc qword [rsp + 0xe8]
mov rax, qword [rdx]
add qword [rsp + 0xf8], rax
jmp 0x43b918
cmp dword [r8 + 5], esi
jl 0x43b918
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x128]
cmp al, sil
cmove rdx, rcx
mov ecx, dword [r8 + 5]
mov rax, qword [r14]
mov rax, qword [rax + rcx*8]
cmp byte [rax + 0x20], sil
je 0x43b8e4
cmp byte [r8], sil
je 0x43b8df
inc qword [rdx + 0x30]
jmp 0x43b918
inc qword [rdx]
jmp 0x43b918
cmp byte [rax + 0x21], sil
je 0x43b902
cmp byte [r8], sil
je 0x43b8f5
inc qword [rdx + 0x40]
jmp 0x43b918
inc qword [rdx + 0x10]
mov rax, qword [rax]
add qword [rdx + 0x20], rax
jmp 0x43b918
cmp byte [r8], sil
je 0x43b90d
inc qword [rdx + 0x38]
jmp 0x43b918
inc qword [rdx + 8]
mov rax, qword [rax]
add qword [rdx + 0x18], rax
add r8, 0x14
dec r9
jne 0x43b7f8
mov rax, qword [rbx]
lea rdx, [rsp + 0xe0]
mov rcx, rbx
call qword [rax + 0x28]
mov ebp, eax
cmp eax, esi
je 0x43b9a4
movsxd rbx, dword [rsp + 0x30]
mov rdi, rbx
cmp ebx, esi
je 0x43b977
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x28]
mov rsi, qword [rdi + rax]
test rsi, rsi
je 0x43b971
mov rcx, qword [rsi]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
xor esi, esi
cmp ebx, esi
jne 0x43b94c
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
cmp rcx, rsi
je 0x43b99d
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, ebp
jmp 0x43cd05
mov ecx, 0x118
call fcn.004021d0
mov qword [rsp + 0x220], rax
cmp rax, rsi
je 0x43b9d0
mov rcx, rax
call fcn.00441fc0
mov r12, rax
mov qword [rsp + 0xa8], rax
jmp 0x43b9db
mov r12, rsi
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0x1c8], r12
cmp r12, rsi
je 0x43b9f3
mov rax, qword [r12]
mov rcx, r12
call qword [rax + VariantCopy]
nop
mov al, byte [r15 + 0xe0]
mov byte [r12 + 0x108], al
mov al, byte [r15 + 0xe1]
mov byte [r12 + 0x109], al
mov al, byte [r15 + 0xe2]
mov byte [r12 + 0x10a], al
mov al, byte [r15 + 0xe3]
mov byte [r12 + 0x10b], al
mov qword [r12 + 0xb8], rbx
cmp r13, rsi
je 0x43ba69
mov rbx, qword [r13]
cmp rbx, rsi
je 0x43ba4e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
mov rcx, qword [r12 + 0xd8]
cmp rcx, rsi
je 0x43ba61
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [r12 + 0xd8], rbx
mov qword [r12 + 0xc0], rdi
mov rax, qword [rsp + 0x268]
mov qword [r12 + 0xc8], rax
mov al, byte [r15 + 0x124]
mov byte [r12 + 0x10d], al
mov al, byte [r15 + 0x128]
mov byte [r12 + 0x10e], al
mov al, byte [r15 + 0x12a]
mov byte [r12 + 0x10f], al
mov qword [r12 + 0xd0], r13
mov qword [r12 + 0xe0], r14
lea rax, [rsp + 0x38]
mov qword [r12 + 0xe8], rax
mov rax, qword [rsp + 0x258]
mov qword [r12 + 0x110], rax
cmp dword [r15 + 0x138], esi
je 0x43baf1
lea rax, [rsp + 0x28]
mov qword [r12 + 0xf0], rax
mov rbx, rsi
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xa0], rsi
mov r14, qword [rsp + 0x248]
cmp byte [r15 + 0xf8], sil
jne 0x43bb86
lea rcx, [rsp + 0x68]
call fcn.004032ec
nop
lea rdx, [rsp + 0x48]
mov rcx, r14
call fcn.004398bc
nop
lea rdx, [rsp + 0x68]
mov rcx, qword [rax]
call fcn.00406c88
cmp al, sil
sete dil
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_free
cmp dil, sil
je 0x43bb71
mov dword [rsp + 0x240], 0x159fc9
lea rdx, [0x0046f368]
lea rcx, [rsp + 0x240]
call sub.msvcrt.dll__CxxThrowException
int3
mov rcx, qword [rsp + 0x68]
call fcn.00406ec0
nop
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_free
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0x60], rsi
lea rdi, [0x00455230]
cmp dword [r15 + 0x148], esi
jne 0x43be24
cmp byte [r15 + 0xf8], sil
je 0x43bc10
mov ecx, 0x18
call fcn.004021d0
mov r13, rax
mov qword [rsp + 0x98], rax
cmp rax, rsi
je 0x43bbe6
mov dword [rax + 8], esi
lea rax, [0x004551e8]
mov qword [r13], rax
mov qword [r13 + 0x10], rsi
jmp 0x43bbf1
mov r13, rsi
mov qword [rsp + 0x98], rsi
cmp r13, rsi
je 0x43bc00
mov rax, qword [r13]
mov rcx, r13
call qword [rax + VariantCopy]
mov rdi, r13
mov qword [rsp + 0xa0], r13
jmp 0x43c02e
mov ecx, 0x30
call fcn.004021d0
mov rbx, rax
cmp rax, rsi
je 0x43bc36
mov dword [rax + 8], esi
mov qword [rax], rdi
mov qword [rax + 0x10], 0xffffffffffffffff
mov byte [rax + 0x18], sil
jmp 0x43bc39
mov rbx, rsi
mov qword [rsp + 0x90], rbx
cmp rbx, rsi
je 0x43bc4f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
mov qword [rsp + 0xb0], rbx
cmp rbx, rsi
je 0x43bc65
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
mov rdi, rbx
mov qword [rsp + 0xa0], rbx
lea rcx, [rsp + 0x48]
call fcn.004032ec
nop
xor r13d, r13d
cmp byte [r14 + 0x50], r13b
je 0x43bcc7
cmp esi, r13d
jbe 0x43bc9f
lea rcx, [r14 + 0x68]
mov dword [rcx + 8], r13d
mov rax, qword [rcx]
mov word [rax], r13w
mov edx, esi
call fcn.004037b8
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.00439a0c
nop
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.004034e8
nop
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_free
jmp 0x43bced
lea rdx, [rsp + 0x78]
mov rcx, r14
call fcn.004398bc
nop
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.004034e8
nop
mov rcx, qword [rsp + 0x78]
call sub.msvcrt.dll_free
mov rdx, qword [rsp + 0x48]
mov qword [rbx + 0x28], r13
xor r8d, r8d
lea rcx, [rbx + 0x10]
call fcn.00409328
cmp al, r13b
jne 0x43bd28
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
jne 0x43bd68
cmp byte [r14 + 0x50], r13b
je 0x43bd68
inc esi
cmp esi, 0x10000
jb 0x43bc7e
jmp 0x43bd68
mov ecx, 0x10
call fcn.004021d0
mov qword [rsp + 0x220], rax
xor esi, esi
cmp rax, rsi
je 0x43bd50
lea rdx, [rsp + 0x48]
mov rcx, rax
call fcn.004033f8
jmp 0x43bd53
mov rax, rsi
mov rdx, rax
mov rcx, qword [rsp + 0x270]
call fcn.004010c0
jmp 0x43be15
lea r8, [rsp + 0x48]
lea rdx, str.cannot_open_file
mov rcx, qword [rsp + 0x278]
call fcn.0043a6f4
mov ebp, eax
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_free
nop
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x10]
nop
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x10]
nop
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0x10]
nop
movsxd rbx, dword [rsp + 0x30]
mov rdi, rbx
cmp ebx, r13d
je 0x43bde8
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x28]
mov rsi, qword [rdi + rax]
cmp rsi, r13
je 0x43bde3
mov rcx, qword [rsi]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
cmp ebx, r13d
jne 0x43bdbe
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
cmp rcx, r13
je 0x43be0e
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, ebp
jmp 0x43cd05
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_free
jmp 0x43c02e
cmp byte [r15 + 0xf8], sil
je 0x43bea3
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
movsxd rbx, dword [rsp + 0x30]
mov rdi, rbx
cmp ebx, esi
je 0x43be73
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x28]
mov rsi, qword [rdi + rax]
test rsi, rsi
je 0x43be6d
mov rcx, qword [rsi]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
xor esi, esi
cmp ebx, esi
jne 0x43be48
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
cmp rcx, rsi
je 0x43be99
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, 0x80004005
jmp 0x43cd05
cmp r13, rsi
je 0x43bf35
mov rax, qword [r13 + 0x100]
add rax, qword [r13 + 0xd8]
cmp rax, rsi
jle 0x43bf35
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
movsxd rbx, dword [rsp + 0x30]
mov rdi, rbx
cmp ebx, esi
je 0x43bf05
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x28]
mov rsi, qword [rdi + rax]
test rsi, rsi
je 0x43beff
mov rcx, qword [rsi]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
xor esi, esi
cmp ebx, esi
jne 0x43beda
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
cmp rcx, rsi
je 0x43bf2b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, 0x80004001
jmp 0x43cd05
mov ecx, 0x60
call fcn.004021d0
mov rbx, rax
mov qword [rsp + 0x220], rax
cmp rax, rsi
je 0x43bf7c
mov dword [rax + 8], esi
lea rax, [0x00458390]
mov qword [rbx], rax
mov qword [rbx + 0x28], rsi
mov dword [rbx + 0x30], esi
mov dword [rbx + 0x34], esi
mov qword [rbx + 0x38], rsi
mov dword [rbx + 0x40], esi
mov dword [rbx + 0x44], esi
lea rcx, [rbx + 0x48]
call fcn.004032ec
nop
jmp 0x43bf7f
mov rbx, rsi
mov qword [rsp + 0x60], rbx
cmp rbx, rsi
je 0x43bf92
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
mov qword [rsp + 0xb0], rbx
cmp rbx, rsi
je 0x43bfa8
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
mov rdi, rbx
mov qword [rsp + 0xa0], rbx
lea rdx, [r15 + 0x140]
lea rcx, [rbx + 0x38]
call fcn.00439d58
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.00439964
nop
mov rdx, rax
lea rcx, [rbx + 0x48]
call fcn.004034e8
nop
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_free
mov eax, dword [rbx + 0x50]
cmp dword [rbx + 0x54], eax
jne 0x43bff9
lea rcx, [rbx + 0x48]
call fcn.004030d0
mov edx, dword [rbx + 0x50]
mov rcx, qword [rbx + 0x48]
mov word [rcx + rdx*2], 0x2e
inc edx
mov word [rcx + rdx*2], 0
mov dword [rbx + 0x50], edx
mov rax, qword [rsp + 0x270]
mov qword [rbx + 0x58], rax
xor esi, esi
mov dword [rbx + 0xc], esi
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], rsi
mov qword [rbx + 0x20], rsi
lea rdx, [r15 + 0x28]
mov rcx, qword [rsp + 0x20]
call fcn.00439078
mov ebp, eax
cmp eax, esi
je 0x43c0d7
cmp rdi, rsi
je 0x43c055
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x10]
nop
cmp rbx, rsi
je 0x43c064
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
movsxd rbx, dword [rsp + 0x30]
mov rdi, rbx
cmp ebx, esi
je 0x43c0aa
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x28]
mov rsi, qword [rdi + rax]
test rsi, rsi
je 0x43c0a4
mov rcx, qword [rsi]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
xor esi, esi
cmp ebx, esi
jne 0x43c07f
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
cmp rcx, rsi
je 0x43c0d0
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, ebp
jmp 0x43cd05
cmp byte [r15 + 0xcc], sil
je 0x43c6bc
mov ecx, 0x78
call fcn.004021d0
mov qword [rsp + 0x220], rax
cmp rax, rsi
je 0x43c108
mov rcx, rax
call fcn.0040e0d8
mov rbp, rax
jmp 0x43c10b
mov rbp, rsi
mov qword [rsp + 0x78], rbp
cmp rbp, rsi
je 0x43c120
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + VariantCopy]
nop
lea rcx, [rbp + 0x28]
mov rdx, qword [r15 + 0xd0]
call fcn.004092bc
test al, al
jne 0x43c1f6
lea r8, [r15 + 0xd0]
lea rdx, str.cannot_open_SFX_module
mov rcx, qword [rsp + 0x278]
call fcn.0043a6f4
mov r13d, eax
test rbp, rbp
je 0x43c166
mov rdx, qword [rbp]
mov rcx, rbp
call qword [rdx + 0x10]
nop
test rdi, rdi
je 0x43c175
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x10]
nop
test rbx, rbx
je 0x43c184
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
movsxd rbx, dword [rsp + 0x30]
mov rdi, rbx
test ebx, ebx
je 0x43c1c8
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x28]
mov rsi, qword [rdi + rax]
test rsi, rsi
je 0x43c1c4
mov rcx, qword [rsi]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
test ebx, ebx
jne 0x43c19f
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x43c1ee
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, r13d
jmp 0x43cd05
xor esi, esi
mov qword [rsp + 0x220], rsi
mov r13, rsi
cmp dword [r15 + 0x148], esi
jne 0x43c22a
cmp rdi, rsi
je 0x43c21a
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + VariantCopy]
mov rsi, rdi
mov qword [rsp + 0x220], rdi
jmp 0x43c380
mov ecx, 0x30
call fcn.004021d0
mov r13, rax
cmp rax, rsi
je 0x43c258
mov dword [rax + 8], esi
lea rax, [0x00455230]
mov qword [r13], rax
mov qword [r13 + 0x10], 0xffffffffffffffff
mov byte [r13 + 0x18], sil
jmp 0x43c25b
mov r13, rsi
cmp r13, rsi
je 0x43c26a
mov rax, qword [r13]
mov rcx, r13
call qword [rax + VariantCopy]
mov rsi, r13
mov qword [rsp + 0x220], r13
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.004398bc
nop
mov rdx, qword [rsp + 0x68]
mov qword [r13 + 0x28], 0
lea rcx, [r13 + 0x10]
xor r8d, r8d
call fcn.00409328
test al, al
jne 0x43c376
lea r8, [rsp + 0x68]
lea rdx, str.cannot_open_file
mov rcx, qword [rsp + 0x278]
call fcn.0043a6f4
mov r14d, eax
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_free
nop
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + 0x10]
nop
test rbp, rbp
je 0x43c2e6
mov rdx, qword [rbp]
mov rcx, rbp
call qword [rdx + 0x10]
nop
test rdi, rdi
je 0x43c2f5
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x43c304
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
movsxd rbx, dword [rsp + 0x30]
mov rdi, rbx
test ebx, ebx
je 0x43c348
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x28]
mov rsi, qword [rdi + rax]
test rsi, rsi
je 0x43c344
mov rcx, qword [rsi]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
test ebx, ebx
jne 0x43c31f
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x43c36e
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, r14d
jmp 0x43cd05
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_free
lea rcx, [rbp + 8]
mov rax, qword [rcx]
lea rdx, [rsp + 0x88]
call qword [rax + 0x18]
mov r14d, eax
test eax, eax
je 0x43c447
test rsi, rsi
je 0x43c3ac
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x10]
nop
mov rdx, qword [rbp]
mov rcx, rbp
call qword [rdx + 0x10]
nop
test rdi, rdi
je 0x43c3c6
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x43c3d5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
movsxd rbx, dword [rsp + 0x30]
mov rdi, rbx
test ebx, ebx
je 0x43c419
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x28]
mov rsi, qword [rdi + rax]
test rsi, rsi
je 0x43c415
mov rcx, qword [rsi]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
test ebx, ebx
jne 0x43c3f0
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x43c43f
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, r14d
jmp 0x43cd05
mov rcx, qword [rsp + 0x280]
mov rax, qword [rcx]
mov r8, qword [rsp + 0x88]
mov rdx, qword [r15 + 0xd0]
call qword [rax]
mov r14d, eax
test eax, eax
je 0x43c518
test rsi, rsi
je 0x43c47d
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x10]
nop
mov rdx, qword [rbp]
mov rcx, rbp
call qword [rdx + 0x10]
nop
test rdi, rdi
je 0x43c497
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x43c4a6
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
movsxd rbx, dword [rsp + 0x30]
mov rdi, rbx
test ebx, ebx
je 0x43c4ea
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x28]
mov rsi, qword [rdi + rax]
test rsi, rsi
je 0x43c4e6
mov rcx, qword [rsi]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
test ebx, ebx
jne 0x43c4c1
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x43c510
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, r14d
jmp 0x43cd05
xor r8d, r8d
mov rdx, rsi
mov rcx, rbp
call fcn.00450e10
mov r14d, eax
test eax, eax
je 0x43c5db
test rsi, rsi
je 0x43c540
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x10]
nop
mov rdx, qword [rbp]
mov rcx, rbp
call qword [rdx + 0x10]
nop
test rdi, rdi
je 0x43c55a
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x43c569
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
movsxd rbx, dword [rsp + 0x30]
mov rdi, rbx
test ebx, ebx
je 0x43c5ad
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x28]
mov rsi, qword [rdi + rax]
test rsi, rsi
je 0x43c5a9
mov rcx, qword [rsi]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
test ebx, ebx
jne 0x43c584
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x43c5d3
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, r14d
jmp 0x43cd05
test r13, r13
je 0x43c6a1
mov rcx, r13
call fcn.0040dba0
mov r13d, eax
test eax, eax
je 0x43c6a1
test rsi, rsi
je 0x43c606
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x10]
nop
mov rdx, qword [rbp]
mov rcx, rbp
call qword [rdx + 0x10]
nop
test rdi, rdi
je 0x43c620
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x43c62f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
movsxd rbx, dword [rsp + 0x30]
mov rdi, rbx
test ebx, ebx
je 0x43c673
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x28]
mov rsi, qword [rdi + rax]
test rsi, rsi
je 0x43c66f
mov rcx, qword [rsi]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
test ebx, ebx
jne 0x43c64a
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x43c699
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, r13d
jmp 0x43cd05
test rsi, rsi
je 0x43c6b0
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
nop
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x10]
xor esi, esi
mov qword [rsp + 0x88], rsi
cmp byte [r15 + 0xcc], sil
jne 0x43c8f7
mov r13, qword [rsp + 0x240]
cmp r13, rsi
je 0x43c8f7
cmp qword [r13 + 0x100], rsi
je 0x43c8f7
mov rcx, qword [r13 + 8]
mov rax, qword [rcx]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [rax + 0x20]
mov ebp, eax
cmp eax, esi
je 0x43c79c
cmp rdi, rsi
je 0x43c71a
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x10]
nop
cmp rbx, rsi
je 0x43c729
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
movsxd rbx, dword [rsp + 0x30]
mov rdi, rbx
cmp ebx, esi
je 0x43c76f
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x28]
mov rsi, qword [rdi + rax]
test rsi, rsi
je 0x43c769
mov rcx, qword [rsi]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
xor esi, esi
cmp ebx, esi
jne 0x43c744
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
cmp rcx, rsi
je 0x43c795
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, ebp
jmp 0x43cd05
xor r9d, r9d
mov r8, qword [r13 + 0x100]
mov rdx, rdi
mov rcx, qword [r13 + 8]
call fcn.00450f20
mov ebp, eax
cmp eax, esi
je 0x43c84d
cmp rdi, rsi
je 0x43c7cb
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x10]
nop
cmp rbx, rsi
je 0x43c7da
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
movsxd rbx, dword [rsp + 0x30]
mov rdi, rbx
cmp ebx, esi
je 0x43c820
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x28]
mov rsi, qword [rdi + rax]
test rsi, rsi
je 0x43c81a
mov rcx, qword [rsi]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
xor esi, esi
cmp ebx, esi
jne 0x43c7f5
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
cmp rcx, rsi
je 0x43c846
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, ebp
jmp 0x43cd05
cmp byte [r15 + 0xf8], sil
je 0x43c874
cmp rdi, rsi
je 0x43c864
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + VariantCopy]
mov rsi, rdi
mov qword [rsp + 0x88], rdi
jmp 0x43c910
mov ecx, 0x30
call fcn.004021d0
mov rsi, rax
test rax, rax
je 0x43c8a1
mov dword [rax + 8], 0
lea rax, [0x00458238]
mov qword [rsi], rax
mov qword [rsi + 0x20], 0
jmp 0x43c8a3
xor esi, esi
test rsi, rsi
je 0x43c8b1
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov qword [rsp + 0x88], rsi
test rbx, rbx
je 0x43c8c7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x43c8d6
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x20], rbx
mov rax, qword [r13 + 0x100]
mov qword [rsi + 0x28], rax
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 0
jmp 0x43c910
cmp rdi, rsi
je 0x43c905
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + VariantCopy]
mov rsi, rdi
mov qword [rsp + 0x88], rdi
mov rcx, qword [rsp + 0x20]
mov rax, qword [rcx]
mov r9, r12
mov r8d, dword [rsp + 0x40]
mov rdx, rsi
call qword [rax + 0x18]
mov r14d, eax
mov dword [rsp + 0x240], eax
test eax, eax
je 0x43c9d7
test rsi, rsi
je 0x43c947
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x10]
nop
test rdi, rdi
je 0x43c956
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x43c965
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
movsxd rbx, dword [rsp + 0x30]
mov rdi, rbx
test ebx, ebx
je 0x43c9a9
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x28]
mov rsi, qword [rdi + rax]
test rsi, rsi
je 0x43c9a5
mov rcx, qword [rsi]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
test ebx, ebx
jne 0x43c980
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x43c9cf
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, r14d
jmp 0x43cd05
cmp dword [r12 + 0x70], 0
je 0x43caab
mov rbp, qword [rsp + 0x278]
lea rcx, [rbp + 8]
lea rdx, str.There_are_unclosed_input_file:
call fcn.00402cdc
lea rdx, [r12 + 0x78]
lea rcx, [rbp + 0x18]
call fcn.00404ef0
nop
test rsi, rsi
je 0x43ca19
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
nop
test rdi, rdi
je 0x43ca28
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x43ca37
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
movsxd rbx, dword [rsp + 0x30]
mov rdi, rbx
test ebx, ebx
je 0x43ca7b
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x28]
mov rsi, qword [rdi + rax]
test rsi, rsi
je 0x43ca77
mov rcx, qword [rsi]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
test ebx, ebx
jne 0x43ca52
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x43caa1
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, 0x80004005
jmp 0x43cd05
cmp byte [r15 + 0x12d], 0
je 0x43cbc9
mov dword [rsp + 0x220], 0
mov dword [rsp + 0x224], 0
xor r15d, r15d
cmp dword [rsp + 0x40], r15d
jbe 0x43cb7a
xor ebp, ebp
mov r14, qword [rsp + 0x250]
mov r12, qword [rsp + 0x260]
mov rax, qword [rsp + 0x38]
cmp byte [rax + rbp + 1], 0
je 0x43cb12
mov ecx, dword [rax + rbp + 4]
test ecx, ecx
js 0x43cb12
mov rax, qword [r12 + 0x30]
mov r13, qword [rax + rcx*8]
add r13, 0x18
jmp 0x43cb2c
cmp byte [rax + rbp + 2], 0
je 0x43cb52
mov ecx, dword [rax + rbp + 8]
test ecx, ecx
js 0x43cb52
mov rax, qword [r14]
mov r13, qword [rax + rcx*8]
add r13, 8
test r13, r13
je 0x43cb52
mov rdx, r13
lea rcx, [rsp + 0x220]
call qword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
jns 0x43cb52
mov rax, qword [r13]
mov qword [rsp + 0x220], rax
inc r15d
add rbp, 0x14
cmp r15d, dword [rsp + 0x40]
jb 0x43caef
cmp dword [rsp + 0x220], 0
mov r12, qword [rsp + 0xa8]
mov r14d, dword [rsp + 0x240]
jne 0x43cb88
mov rax, qword [rsp + 0x220]
shr rax, 0x20
je 0x43cbd8
mov rbp, qword [rsp + 0x90]
test rbp, rbp
je 0x43cbad
lea rcx, [rbp + 0x10]
lea rdx, [rsp + 0x220]
call fcn.00408c70
mov r13, qword [rsp + 0x60]
jmp 0x43cbe5
mov r13, qword [rsp + 0x60]
test r13, r13
je 0x43cbe5
lea rdx, [rsp + 0x220]
mov rcx, r13
call fcn.0043a1dc
jmp 0x43cbe5
mov rbp, qword [rsp + 0x90]
mov r13, qword [rsp + 0x60]
jmp 0x43cbe5
mov rbp, qword [rsp + 0x90]
mov r13, qword [rsp + 0x60]
mov qword [rsp + 0x240], 0
test rbp, rbp
je 0x43cc10
lea rdx, [rsp + 0x240]
mov rcx, rbp
call fcn.0040dd18
mov r11, qword [rsp + 0x240]
jmp 0x43cc27
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x43cc23
mov r11, qword [rax + 0x10]
jmp 0x43cc27
mov r11, qword [r13 + 0x20]
mov rax, qword [rsp + 0x288]
mov qword [rax], r11
test rbp, rbp
je 0x43cc44
mov rcx, rbp
call fcn.0040dba0
mov r14d, eax
jmp 0x43cc54
test r13, r13
je 0x43cc54
mov rcx, r13
call fcn.0043a194
mov r14d, eax
test rsi, rsi
je 0x43cc63
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
nop
test rdi, rdi
je 0x43cc72
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x43cc81
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
movsxd rbx, dword [rsp + 0x30]
mov rdi, rbx
test ebx, ebx
je 0x43ccc5
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x28]
mov rsi, qword [rdi + rax]
test rsi, rsi
je 0x43ccc1
mov rcx, qword [rsi]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
test ebx, ebx
jne 0x43cc9c
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x43cceb
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, r14d
jmp 0x43cd05
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x43cd00
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, 0x80004005
add rsp, 0x1d8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret