Function at 0x140048b60
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rdi, qword [rcx + 0x10]
mov r11, qword [rcx]
mov rsi, rdx
xor edx, edx
mov r9d, r8d
mov rbx, rcx
mov qword [rsp + 0x78], rdi
mov dword [rbp + 0x60], r8d
mov qword [rsp + 0x60], r11
mov dword [rbp + 0x78], edx
mov dword [rsp + 0x48], edx
test rdi, rdi
je 0x1400499c8
lea eax, [rdx + 0x65]
test rsi, rsi
je 0x140048bb5
movzx eax, byte [rsi]
mov dword [rsp + 0x40], eax
add eax, 0xffffffed
cmp eax, 0x8c
ja case.0x140048be4.21
lea r8, [0x140000000]
cdqe
movzx eax, byte [r8 + rax + 0x49e4c]
mov ecx, dword [r8 + rax*4 + 0x49de8]
add rcx, r8
jmp rcx
mov rcx, qword [rsi + 0x38]
movsx rax, word [rsi + 0x32]
shl rax, 5
add rax, qword [rcx + 0x20]
cmp byte [rcx], dl
jne 0x140048c0c
mov edx, dword [rax + 0x14]
mov eax, edx
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp byte [rcx + 1], dl
je case.0x140048be4.154
mov r8d, dword [rcx + 8]
mov dword [rsp + 0x20], r9d
mov r9d, dword [rax + 0x10]
mov edx, 0x2f
mov rcx, rdi
call fcn.140068970
jmp 0x140049dd5
mov ecx, dword [rsi + 0x2c]
test ecx, ecx
jns 0x140048c55
mov eax, dword [rbx + 0x68]
test eax, eax
jle 0x140048c52
movsx edx, word [rsi + 0x30]
add edx, eax
mov eax, edx
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, dword [rbx + 0x6c]
movzx eax, byte [rsi + 0x36]
movsx r8d, word [rsi + 0x30]
mov rdx, qword [rsi + 0x40]
mov byte [rsp + 0x28], al
mov dword [rsp + 0x20], r9d
mov r9d, ecx
mov rcx, rbx
call fcn.140048230
mov edx, eax
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor r8d, r8d
mov rdx, rsi
mov rcx, rbx
call fcn.14001b420
jmp 0x140049dd5
mov rdx, qword [rsi + 8]
xor r8d, r8d
mov rcx, rdi
call fcn.14001d300
jmp 0x140049dd5
mov rsi, qword [rsi + 8]
xor r8d, r8d
mov dword [rsp + 0x20], edx
lea edx, [r8 + 0x61]
mov rcx, rdi
call fcn.140068970
mov r8, qword [rdi + 8]
mov rcx, qword [rdi]
test r8, r8
je 0x140048d3f
cmp byte [rcx + 0x50], 0
jne 0x140048d3f
test eax, eax
jns 0x140048cdd
mov eax, dword [rdi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rbx, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rbx + 0x10]
call fcn.140027190
xor eax, eax
mov qword [rbx + 0x10], rax
test rsi, rsi
jne 0x140048d0d
mov qword [rbx + 0x10], rax
mov byte [rbx + 1], al
jmp 0x140049dd5
cmp byte [rsi], 0
mov rax, rsi
je 0x140048d1d
inc rax
cmp byte [rax], 0
jne 0x140048d15
mov rcx, qword [rdi]
sub eax, esi
mov rdx, rsi
and eax, 0x3fffffff
movsxd r8, eax
call fcn.140044a70
mov qword [rbx + 0x10], rax
mov byte [rbx + 1], 0xff
jmp 0x140049dd5
mov r8, rsi
xor edx, edx
call fcn.140027190
jmp 0x140049dd5
xor r8d, r8d
mov dword [rsp + 0x20], edx
mov rcx, rdi
lea edx, [r8 + 0x1c]
call fcn.140068970
jmp 0x140049dd5
mov rcx, qword [rsi + 8]
add rcx, 2
mov rax, rcx
jne 0x140048d77
mov eax, edx
jmp 0x140048d8e
cmp byte [rcx], dl
je 0x140048d87
nop dword [rax + rax]
inc rax
cmp byte [rax], dl
jne 0x140048d80
sub eax, ecx
and eax, 0x3fffffff
lea ebx, [rax - 1]
mov rdx, rcx
mov rcx, qword [rdi]
mov r8d, ebx
call fcn.140050e90
mov r9d, dword [rbp + 0x70]
mov rcx, rdi
mov rsi, rax
mov eax, ebx
xor ebx, ebx
cdq
mov dword [rsp + 0x20], ebx
sub eax, edx
lea edx, [rbx + 0x1e]
sar eax, 1
mov r8d, eax
call fcn.140068970
mov r8, qword [rdi + 8]
mov rcx, qword [rdi]
test r8, r8
je 0x140048e30
cmp byte [rcx + 0x50], bl
jne 0x140048e30
test eax, eax
jns 0x140048ddb
mov eax, dword [rdi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.140027190
mov edx, dword [rbp + 0x60]
mov qword [rdi + 0x10], rbx
test rsi, rsi
jne 0x140048e15
mov qword [rdi + 0x10], rbx
mov byte [rdi + 1], bl
mov eax, edx
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rdi + 0x10], rsi
mov byte [rdi + 1], 0xff
mov eax, edx
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r8, rsi
or edx, 0xffffffff
call fcn.140027190
jmp 0x140049dd5
movsx r8d, word [rsi + 0x30]
mov dword [rsp + 0x20], edx
mov rcx, rdi
mov edx, 0x1f
call fcn.140068970
mov rax, qword [rsi + 8]
cmp byte [rax + 1], 0
je 0x140049dd5
movsx rcx, word [rsi + 0x30]
mov rax, qword [rbx + 0x208]
mov r8, qword [rdi + 8]
mov rsi, qword [rax + rcx*8 - 8]
mov rcx, qword [rdi]
test r8, r8
je 0x140048ee0
cmp byte [rcx + 0x50], 0
jne 0x140048ee0
mov eax, dword [rdi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rbx, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rbx + 0x10]
call fcn.140027190
mov edx, dword [rbp + 0x60]
xor eax, eax
mov qword [rbx + 0x10], rax
test rsi, rsi
jne 0x140048ec8
mov qword [rbx + 0x10], rax
mov byte [rbx + 1], al
mov eax, edx
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rbx + 0x10], rsi
mov byte [rbx + 1], 0xfe
mov eax, edx
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r8, rsi
mov edx, 0xfffffffe
call fcn.140027190
jmp 0x140049dd5
mov edx, dword [rsi + 0x2c]
mov eax, edx
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdx, qword [rsi + 0x10]
mov r8d, r9d
mov rcx, rbx
call fcn.140048b60
mov edx, eax
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdx, qword [rsi + 0x10]
mov r8d, r9d
mov rcx, rbx
call fcn.140048b60
mov ecx, eax
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x70]
cmp ecx, eax
je 0x140048f5c
mov r8d, ecx
mov r9d, eax
mov edx, 0x22
mov rcx, rdi
mov dword [rsp + 0x20], 0
call fcn.140068970
mov ecx, dword [rbp + 0x70]
mov dword [rbp + 0x60], ecx
mov rcx, qword [rsi + 8]
xor edx, edx
call fcn.14003a4e0
mov r8d, dword [rbp + 0x70]
mov edx, 0x28
mov rcx, rdi
movsx r9d, al
mov dword [rsp + 0x20], 0
call fcn.140068970
mov edx, dword [rbp + 0x60]
mov r8d, 1
mov rcx, rbx
call fcn.1400479c0
mov eax, edx
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rbx
call fcn.140049ee0
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x48]
mov rcx, rbx
mov edi, eax
call fcn.140049ee0
mov r9d, dword [rsp + 0x40]
mov dword [rsp + 0x38], 0x20
mov ecx, dword [rbp + 0x70]
mov r8, qword [rsi + 0x18]
mov rdx, qword [rsi + 0x10]
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], eax
mov rcx, rbx
mov dword [rsp + 0x20], edi
call fcn.14001afc0
jmp 0x1400498af
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rbx
call fcn.140049ee0
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x48]
mov rcx, rbx
mov edi, eax
call fcn.140049ee0
xor r9d, r9d
cmp dword [rsp + 0x40], 0x49
sete r9b
mov dword [rsp + 0x38], 0xa0
add r9d, 0x4e
jmp 0x140048fd3
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rbx
call fcn.140049ee0
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x48]
mov rcx, rbx
mov edi, eax
call fcn.140049ee0
mov ecx, dword [rbp + 0x70]
mov edx, dword [rsp + 0x40]
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x78]
mov r9d, edi
mov r8d, eax
call fcn.140068970
jmp 0x1400498af
mov rax, qword [rsi + 0x10]
movzx ecx, byte [rax]
cmp cl, 0x84
jne 0x14004909f
mov r8d, 1
mov rdx, rax
mov rcx, rbx
call fcn.14001b420
mov eax, dword [rbp + 0x70]
mov dword [rbp + 0x60], eax
jmp 0x1400498af
cmp cl, 0x85
jne 0x1400490c1
mov rdx, qword [rax + 8]
mov r8d, 1
mov rcx, rdi
call fcn.14001d300
mov eax, dword [rbp + 0x70]
mov dword [rbp + 0x60], eax
jmp 0x1400498af
lea r8, [rbp + 0x78]
lea rdx, [rbp - 0x70]
mov rcx, rbx
mov byte [rbp - 0x70], 0x84
mov qword [rbp - 0x6c], 0x4400
call fcn.140049ee0
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x48]
mov rcx, rbx
mov edi, eax
call fcn.140049ee0
mov ecx, dword [rbp + 0x70]
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x78]
mov r9d, edi
mov r8d, eax
mov edx, 0x5a
call fcn.140068970
mov eax, dword [rbp + 0x70]
mov dword [rbp + 0x60], eax
jmp 0x1400498af
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rbx
call fcn.140049ee0
mov ecx, dword [rbp + 0x70]
mov edx, dword [rsp + 0x40]
mov dword [rbp + 0x60], ecx
mov r9d, ecx
xor esi, esi
mov rcx, rdi
mov r8d, eax
mov dword [rsp + 0x20], esi
call fcn.140068970
jmp 0x1400498b1
mov dword [rsp + 0x20], edx
mov edx, 0x19
mov rcx, rdi
lea r8d, [rdx - 0x18]
call fcn.140068970
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rbx
call fcn.140049ee0
mov edx, dword [rsp + 0x40]
xor esi, esi
xor r9d, r9d
mov rcx, rdi
mov r8d, eax
mov dword [rsp + 0x20], esi
call fcn.140068970
mov r9d, dword [rbp + 0x70]
lea edx, [rsi + 0x19]
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x20], esi
call fcn.140068970
mov edx, dword [rdi + 0x3c]
mov eax, dword [rsp + 0x50]
cmp edx, eax
jbe 0x1400491b8
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
jmp 0x1400498b1
mov rdx, qword [rsi + 0x38]
test rdx, rdx
jne 0x1400491ea
mov r8, qword [rsi + 8]
lea rdx, str.misuse_of_aggregate:__s__
mov rcx, rbx
call fcn.140046e00
jmp 0x140049dd5
movsx rax, word [rsi + 0x32]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x30]
mov edx, dword [rax + rcx*8 + 0x10]
mov eax, edx
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
test dword [rsi + 4], 0x4000
mov rax, qword [r11 + 0x20]
mov dword [rsp + 0x40], edx
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x68], rdx
movzx r8d, byte [rcx + 0x71]
je 0x140049247
mov qword [rsp + 0x58], rdx
mov ecx, edx
mov dword [rbp + 0x78], edx
mov r10, qword [rsi + 8]
mov qword [rsp + 0x48], r10
mov rax, r10
test r10, r10
jne 0x14004925c
mov eax, edx
jmp 0x140049270
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14004922d
mov ecx, dword [rax]
mov dword [rbp + 0x78], ecx
jmp 0x140049232
cmp byte [r10], dl
je 0x140049268
inc rax
cmp byte [rax], dl
jne 0x140049261
sub eax, r10d
and eax, 0x3fffffff
mov byte [rsp + 0x28], dl
mov r9d, ecx
mov byte [rsp + 0x20], r8b
mov r8d, eax
mov rdx, r10
mov rcx, r11
mov qword [rsp + 0x50], rax
call fcn.14004ba30
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140049671
cmp qword [rax + 0x18], 0
je 0x140049671
movzx ecx, word [rax + 2]
mov eax, 0x200
test ax, cx
je 0x14004936c
mov rcx, rdi
call fcn.1400704f0
mov rdx, qword [rsp + 0x58]
mov esi, dword [rbp + 0x70]
mov rdx, qword [rdx + 8]
mov r8d, esi
mov rcx, rbx
mov rdx, qword [rdx]
mov dword [rsp + 0x50], eax
call fcn.140047d40
mov eax, dword [rbp + 0x78]
cmp eax, 1
jle 0x140049360
lea edx, [rax - 1]
mov qword [rbp + 0x78], 0x28
mov qword [rsp + 0x60], rdx
nop dword [rax + rax]
mov r9d, dword [rsp + 0x50]
mov r8d, esi
mov edx, 0x4d
mov rcx, rdi
mov dword [rsp + 0x20], 0
call fcn.140068970
mov r8d, 1
mov edx, esi
mov rcx, rbx
call fcn.1400479c0
inc dword [rbx + 0x70]
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax + 8]
mov rax, qword [rbp + 0x78]
mov r8d, esi
mov rdx, qword [rdx + rax]
mov rcx, rbx
call fcn.140047d40
mov rcx, rbx
call fcn.140047b10
add qword [rbp + 0x78], 0x28
dec qword [rsp + 0x60]
jne 0x140049300
or eax, 0xffffffff
sub eax, dword [rsp + 0x50]
jmp 0x140049db1
mov eax, 0x400
test ax, cx
je 0x140049393
mov rax, qword [rsp + 0x58]
mov r8d, dword [rbp + 0x70]
mov rcx, rbx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx]
call fcn.140047d40
jmp 0x140049dd5
mov ecx, dword [rbp + 0x78]
xor eax, eax
mov edx, eax
mov dword [rsp + 0x48], eax
test ecx, ecx
jle 0x14004942b
mov rdi, qword [rsp + 0x58]
mov ecx, 1
mov esi, eax
mov dword [rsp + 0x50], ecx
cmp edx, 0x20
jge 0x1400493d8
mov rcx, qword [rdi + 8]
mov rcx, qword [rcx + rsi]
call fcn.14004ae60
mov ecx, dword [rsp + 0x50]
mov edx, dword [rsp + 0x48]
test eax, eax
je 0x1400493d8
or dword [rsp + 0x40], ecx
mov rax, qword [rsp + 0x70]
test byte [rax + 2], 0x20
je 0x140049408
cmp qword [rsp + 0x68], 0
jne 0x140049408
mov rdx, qword [rdi + 8]
mov rcx, rbx
mov rdx, qword [rdx + rsi]
call fcn.14004a040
mov ecx, dword [rsp + 0x50]
mov edx, dword [rsp + 0x48]
mov qword [rsp + 0x68], rax
rol ecx, 1
inc edx
add rsi, 0x28
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x50], ecx
cmp edx, dword [rbp + 0x78]
jl 0x1400493b6
mov rsi, qword [rbp + 0x68]
mov rdi, qword [rsp + 0x78]
mov ecx, dword [rbp + 0x78]
xor eax, eax
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x1400494b6
cmp dword [rsp + 0x40], 0
jne 0x140049462
mov r9d, dword [rbx + 0x44]
mov r8d, dword [rbx + 0x48]
mov dword [rsp + 0x48], r8d
cmp ecx, r9d
jg 0x140049462
lea eax, [r8 + rcx]
sub r9d, ecx
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x44], r9d
jmp 0x140049473
mov eax, dword [rbx + 0x54]
lea r8d, [rax + 1]
add eax, ecx
mov dword [rsp + 0x48], r8d
mov dword [rbx + 0x54], eax
mov rcx, qword [rsp + 0x70]
test byte [rcx + 2], 0xc0
je 0x140049499
mov rax, qword [rdx + 8]
mov r9, qword [rax]
movzx eax, byte [r9]
add al, 0x66
test al, 0xfd
jne 0x140049499
movzx eax, byte [rcx + 2]
and al, 0xc0
mov byte [r9 + 0x36], al
inc dword [rbx + 0x70]
mov r9b, 3
mov rcx, rbx
call fcn.140047ef0
mov rcx, rbx
call fcn.140047b10
mov rdx, qword [rsp + 0x58]
jmp 0x1400494ba
mov dword [rsp + 0x48], eax
mov eax, dword [rbp + 0x78]
cmp eax, 2
jl 0x1400494ec
test byte [rsi + 4], 0x80
je 0x1400494ec
mov r9, qword [rdx + 8]
mov r9, qword [r9 + 0x28]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
mov r8d, eax
call fcn.140073da0
mov rsi, rax
mov qword [rsp + 0x70], rax
jmp 0x1400494fe
test eax, eax
jle 0x1400494f9
mov r9, qword [rdx + 8]
mov r9, qword [r9]
jmp 0x1400494d0
mov rsi, qword [rsp + 0x70]
test byte [rsi + 2], 0x20
je 0x1400495b4
cmp qword [rsp + 0x68], 0
jne 0x14004951e
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x68], rax
xor esi, esi
xor r9d, r9d
xor r8d, r8d
lea edx, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.140068970
mov r8, qword [rdi + 8]
mov rcx, qword [rdi]
test r8, r8
je 0x1400495a0
cmp byte [rcx + 0x50], sil
jne 0x1400495a0
test eax, eax
jns 0x140049550
mov eax, dword [rdi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea r8, [r8 + rdx*8]
mov qword [rsp + 0x60], r8
movsx edx, byte [r8 + 1]
mov r8, qword [r8 + 0x10]
call fcn.140027190
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
mov qword [rcx + 0x10], rsi
test rax, rax
jne 0x14004958a
mov qword [rcx + 0x10], rsi
mov byte [rcx + 1], sil
jmp 0x1400495af
mov qword [rcx + 0x10], rax
mov byte [rcx + 1], 0xfc
jmp 0x1400495af
mov r8, qword [rsp + 0x68]
mov edx, 0xfffffffc
call fcn.140027190
mov rsi, qword [rsp + 0x70]
mov eax, dword [rbp + 0x70]
mov r9d, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x40]
mov edx, 1
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140068970
mov r8, qword [rdi + 8]
mov rcx, qword [rdi]
test r8, r8
je 0x140049620
cmp byte [rcx + 0x50], 0
jne 0x140049620
test eax, eax
jns 0x1400495ed
mov eax, dword [rdi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.140027190
mov qword [rdi + 0x10], rsi
mov byte [rdi + 1], 0xfb
mov rdi, qword [rsp + 0x78]
jmp 0x14004962d
mov r8, rsi
mov edx, 0xfffffffb
call fcn.140027190
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x140049647
movsxd rax, dword [rdi + 0x3c]
lea rcx, [rax + rax*2]
mov eax, dword [rbp + 0x78]
mov byte [rdx + rcx*8 - 0x15], al
jmp 0x14004964a
mov eax, dword [rbp + 0x78]
test eax, eax
je 0x140049dd5
cmp dword [rsp + 0x40], 0
jne 0x140049dd5
mov edx, dword [rsp + 0x48]
mov r8d, eax
mov rcx, rbx
call fcn.14005ded0
jmp 0x140049dd5
mov r9, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x50]
lea rdx, str.unknown_function:__.s__
mov rcx, rbx
call fcn.140046e00
jmp 0x140049dd5
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, rbx
call fcn.140041fc0
mov edx, eax
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rcx, rdi
call fcn.1400704f0
mov rcx, qword [rsp + 0x78]
mov edi, eax
call fcn.1400704f0
mov r9d, dword [rbp + 0x70]
mov rcx, qword [rsp + 0x78]
xor r8d, r8d
mov dword [rsp + 0x20], 0
lea edx, [r8 + 0x1c]
mov dword [rbp + 0x78], eax
call fcn.140068970
mov r9d, dword [rbp + 0x78]
mov r8d, edi
mov rdx, rsi
mov rcx, rbx
call fcn.1400483f0
mov rbx, qword [rsp + 0x78]
mov r9d, dword [rbp + 0x70]
xor esi, esi
mov rcx, rbx
lea edx, [rsi + 0x19]
lea r8d, [rsi + 1]
mov dword [rsp + 0x20], esi
call fcn.140068970
mov r8, qword [rbx + 0x30]
or eax, 0xffffffff
sub eax, edi
js 0x140049732
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x140049732
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbx + 0x3c]
xor r9d, r9d
mov rcx, rbx
dec eax
lea edx, [r9 + 0x25]
mov dword [rsp + 0x20], esi
mov dword [r8 + 0x64], eax
mov r8d, dword [rbp + 0x70]
call fcn.140068970
mov r8, qword [rbx + 0x30]
or eax, 0xffffffff
sub eax, dword [rbp + 0x78]
js 0x140049773
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x140049773
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbx + 0x3c]
dec eax
mov dword [r8 + 0x64], eax
jmp 0x140049dd5
mov rdi, qword [rsi + 0x10]
mov rax, qword [rsi + 0x20]
lea r8, [rbp + 0x78]
mov rax, qword [rax + 8]
mov rdx, rdi
mov rcx, rbx
mov rsi, qword [rax]
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], rsi
call fcn.140049ee0
lea r8, [rsp + 0x48]
mov rdx, rsi
mov rcx, rbx
mov dword [rsp + 0x50], eax
call fcn.140049ee0
movzx ecx, byte [rbx + 0x1f]
mov edx, eax
test cl, cl
jne 0x1400497d4
inc dword [rbx + 0x54]
mov ecx, dword [rbx + 0x54]
jmp 0x1400497e0
dec cl
movzx eax, cl
mov byte [rbx + 0x1f], al
mov ecx, dword [rbx + rax*4 + 0x24]
movzx eax, byte [rbx + 0x1f]
mov dword [rsp + 0x40], ecx
test al, al
jne 0x1400497f4
inc dword [rbx + 0x54]
mov esi, dword [rbx + 0x54]
jmp 0x140049800
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov esi, dword [rbx + rax*4 + 0x24]
mov eax, dword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov dword [rsp + 0x38], 0x20
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov r9d, 0x53
mov rdx, rdi
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.14001afc0
mov rdi, qword [rsp + 0x68]
mov edx, dword [rsp + 0x48]
mov rdi, qword [rdi + 0x28]
mov rcx, rbx
call fcn.14005df50
lea r8, [rsp + 0x48]
mov rdx, rdi
call fcn.140049ee0
mov rdx, qword [rsp + 0x58]
mov dword [rsp + 0x38], 0x20
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x50]
mov r9d, 0x51
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.14001afc0
mov eax, dword [rbp + 0x70]
mov r8d, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x78]
mov r9d, esi
mov edx, 0x48
mov dword [rsp + 0x20], eax
call fcn.140068970
mov edx, dword [rsp + 0x40]
mov rcx, rbx
call fcn.14005df50
mov edx, esi
call fcn.14005df50
xor esi, esi
cmp dword [rbp + 0x78], 0
je 0x1400498f4
movzx r8d, byte [rbx + 0x1f]
cmp r8b, 8
jae 0x1400498f4
mov ecx, esi
lea rax, [rbx + 0x88]
nop dword [rax + rax]
mov edx, dword [rbp + 0x78]
cmp dword [rax + 0xc], edx
je 0x1400498f0
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x1400498d0
movzx eax, r8b
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
jmp 0x1400498f4
mov byte [rax + 6], 1
cmp dword [rsp + 0x48], 0
je 0x140049dd5
movzx edx, byte [rbx + 0x1f]
cmp dl, 8
jae 0x140049dd5
lea rax, [rbx + 0x88]
mov ecx, dword [rsp + 0x48]
cmp dword [rax + 0xc], ecx
je 0x140049936
inc esi
add rax, 0x14
cmp esi, 0xa
jl 0x140049913
movzx eax, dl
mov dword [rbx + rax*4 + 0x24], ecx
inc byte [rbx + 0x1f]
jmp 0x140049dd5
mov byte [rax + 6], 1
jmp 0x140049dd5
mov rbx, qword [rsi + 0x40]
movsx eax, word [rsi + 0x30]
mov dword [rsp + 0x20], edx
movsx ecx, word [rbx + 0x42]
lea r8d, [rax + 1]
mov edx, 0x84
inc ecx
imul ecx, dword [rsi + 0x2c]
add r8d, ecx
mov rcx, rdi
call fcn.140068970
movzx eax, word [rsi + 0x30]
test ax, ax
js 0x140049dd5
movsx rax, ax
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
add rcx, rcx
cmp byte [rax + rcx*8 + 0x29], 0x45
jne 0x140049dd5
mov r8d, dword [rbp + 0x70]
xor r9d, r9d
mov rcx, rdi
lea edx, [r9 + 0x27]
mov dword [rsp + 0x20], 0
call fcn.140068970
jmp 0x140049dd5
cmp qword [rbx + 0x1c8], rdx
jne 0x1400499d6
lea rdx, str.RAISE___may_only_be_used_within_a_trigger_program
mov rcx, rbx
call fcn.140046e00
xor eax, eax
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp byte [rsi + 1], 2
jne 0x1400499f1
mov rax, qword [rbx + 0x1c0]
mov rcx, rbx
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
movzx eax, byte [rsi + 1]
cmp al, 4
jne 0x140049a7e
mov rsi, qword [rsi + 8]
mov r9d, 4
mov dword [rsp + 0x20], edx
lea edx, [r9 + 0x14]
xor r8d, r8d
mov rcx, rdi
call fcn.140068970
mov r8, qword [rdi + 8]
mov rcx, qword [rdi]
test r8, r8
je 0x140048d3f
cmp byte [rcx + 0x50], 0
jne 0x140048d3f
test eax, eax
jns 0x140049a3d
mov eax, dword [rdi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rbx, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rbx + 0x10]
call fcn.140027190
xor eax, eax
mov qword [rbx + 0x10], rax
test rsi, rsi
je 0x140048d01
cmp byte [rsi], 0
mov rax, rsi
je 0x140048d1d
inc rax
cmp byte [rax], 0
jne 0x140049a71
jmp 0x140048d1d
mov rcx, qword [rsi + 8]
movsx edi, al
mov qword [rbp + 0x78], rcx
mov rcx, rbx
call fcn.140050be0
mov rsi, rax
cmp edi, 2
jne 0x140049aab
mov rcx, qword [rbx + 0x1c0]
test rcx, rcx
cmovne rbx, rcx
mov byte [rbx + 0x21], 1
mov r9d, edi
mov edx, 0x18
mov r8d, 0x713
mov rcx, rax
mov dword [rsp + 0x20], 0
call fcn.140068970
mov r8, qword [rbp + 0x78]
xor r9d, r9d
mov edx, eax
mov rcx, rsi
call fcn.140068cc0
jmp 0x140049dd5
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x68], rdx
mov rcx, rdi
mov rdx, qword [rax + 8]
mov qword [rbp - 0x80], rax
mov eax, dword [rax]
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x58], rdx
call fcn.1400704f0
mov rdx, qword [rsi + 0x10]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x70], rdx
test rdx, rdx
je 0x140049b7b
movups xmm0, xmmword [rdx]
lea r8, [rbp + 0x78]
mov rcx, rbx
movaps xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rdx + 0x10]
movaps xmmword [rbp - 0x60], xmm1
movups xmm0, xmmword [rdx + 0x20]
movaps xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rdx + 0x30]
movaps xmmword [rbp - 0x40], xmm1
movsd xmm0, qword [rdx + 0x40]
movsd qword [rbp - 0x30], xmm0
call fcn.140049ee0
movzx ecx, byte [rbp - 0x70]
and dword [rbp - 0x6c], 0xffffefff
mov rdx, qword [rsp + 0x70]
mov dword [rbp - 0x44], eax
lea r10, [rbp - 0x20]
lea rax, [rbp - 0x70]
mov byte [rbp - 0x3a], cl
mov byte [rbp - 0x70], 0x9f
mov byte [rbp - 0x20], 0x4f
mov qword [rsp + 0x68], r10
mov qword [rbp - 0x10], rax
jmp 0x140049b80
mov r10, qword [rsp + 0x68]
mov eax, dword [rsp + 0x50]
or r9d, 0xffffffff
mov qword [rsp + 0x60], 0xa
dec eax
movsxd rcx, eax
test eax, eax
jle 0x140049d18
mov rax, qword [rsp + 0x58]
dec rcx
shr rcx, 1
inc rcx
xor esi, esi
mov qword [rsp + 0x78], rcx
inc dword [rbx + 0x70]
test rdx, rdx
je 0x140049bc4
mov rax, qword [rax]
mov qword [rbp - 8], rax
jmp 0x140049bcc
mov r10, qword [rax]
mov qword [rsp + 0x68], r10
mov rcx, qword [rdi + 0x30]
mov qword [rsp + 0x48], rcx
mov edx, dword [rcx + 0x78]
mov dword [rbp + 0x78], edx
lea eax, [rdx + 1]
mov dword [rcx + 0x78], eax
lea eax, [rdx - 1]
test edx, eax
jne 0x140049c1d
lea eax, [rdx*2 + 1]
mov rdx, qword [rcx + 0x80]
mov rcx, qword [rcx]
movsxd r8, eax
shl r8, 2
call fcn.140044940
mov rcx, qword [rsp + 0x48]
mov edx, dword [rbp + 0x78]
mov r10, qword [rsp + 0x68]
mov qword [rcx + 0x80], rax
or r9d, 0xffffffff
mov r8, qword [rcx + 0x80]
test r8, r8
je 0x140049c30
movsxd rax, edx
mov dword [r8 + rax*4], r9d
mov eax, r9d
mov rcx, rbx
mov r9d, InitCommonControls
sub eax, edx
mov rdx, r10
mov r8d, eax
mov dword [rbp + 0x78], eax
call fcn.14004a500
mov rdx, qword [rsp + 0x58]
mov r8d, dword [rbp + 0x70]
mov rdx, qword [rdx + 0x28]
mov rcx, rbx
call fcn.140047d40
mov r9d, dword [rsp + 0x40]
xor r8d, r8d
lea edx, [r8 + 0x10]
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.140068970
dec dword [rbx + 0x70]
lea rcx, [rbx + 0x94]
mov r8d, 0xa
nop dword [rax]
mov edx, dword [rcx]
test edx, edx
je 0x140049cbc
mov eax, dword [rbx + 0x70]
cmp dword [rcx - 4], eax
jle 0x140049cbc
cmp byte [rcx - 6], sil
je 0x140049cba
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x140049cb6
movzx eax, al
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
mov byte [rcx - 6], sil
mov dword [rcx], esi
add rcx, 0x14
dec r8
jne 0x140049c90
mov r8, qword [rdi + 0x30]
or r9d, 0xffffffff
mov eax, r9d
sub eax, dword [rbp + 0x78]
js 0x140049cea
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x140049cea
movsxd rcx, eax
mov eax, dword [rdi + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rdi + 0x3c]
mov rdx, qword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
dec eax
mov dword [r8 + 0x64], eax
mov rax, qword [rsp + 0x58]
add rax, 0x50
dec qword [rsp + 0x78]
mov qword [rsp + 0x58], rax
jne 0x140049bb3
jmp 0x140049d1a
xor esi, esi
movsxd rax, dword [rsp + 0x50]
test al, 1
je 0x140049d93
inc dword [rbx + 0x70]
mov rdx, qword [rbp - 0x80]
mov r8d, dword [rbp + 0x70]
mov rdx, qword [rdx + 8]
lea rcx, [rax + rax*4]
mov rdx, qword [rdx + rcx*8 - 0x28]
mov rcx, rbx
call fcn.140047d40
dec dword [rbx + 0x70]
lea rcx, [rbx + 0x94]
mov eax, 0xa
mov edx, dword [rcx]
test edx, edx
je 0x140049d83
mov eax, dword [rbx + 0x70]
cmp dword [rcx - 4], eax
jle 0x140049d7e
cmp byte [rcx - 6], 0
je 0x140049d7c
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x140049d78
movzx eax, al
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], esi
mov rax, qword [rsp + 0x60]
add rcx, 0x14
dec rax
mov qword [rsp + 0x60], rax
jne 0x140049d52
jmp 0x140049daa
mov r9d, dword [rbp + 0x70]
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 0x1c]
mov dword [rsp + 0x20], esi
call fcn.140068970
or eax, 0xffffffff
sub eax, dword [rsp + 0x40]
mov rdx, qword [rdi + 0x30]
js 0x140049dcd
mov r8, qword [rdx + 0x80]
test r8, r8
je 0x140049dcd
movsxd rcx, eax
mov eax, dword [rdi + 0x3c]
mov dword [r8 + rcx*4], eax
mov eax, dword [rdi + 0x3c]
dec eax
mov dword [rdx + 0x64], eax
mov edx, dword [rbp + 0x60]
mov eax, edx
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret