Function at 0x140025470
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x10d40]
mov eax, 0x10e40
call fcn.1400d1ba0
sub rsp, rax
mov rcx, qword [rbp + 0x10d80]
movzx ebx, r8b
xor edi, edi
mov dword [rsp + 0x60], r9d
mov rsi, rdx
mov dword [rsp + 0x40], ebx
test rcx, rcx
je 0x1400254e8
lea rdx, [rbp + 0x120]
sub rdx, rcx
nop
movzx eax, word [rcx]
add rcx, 2
mov word [rdx + rcx - 2], ax
test ax, ax
jne 0x1400254c0
mov rax, qword [rbp + 0x10d88]
test rax, rax
jne 0x140025ea0
xor cl, cl
jmp 0x140025f18
cmp bl, 3
jne 0x140025502
mov word [rbp + 0x120], di
mov qword [rbp + 0x10d88], rdi
xor cl, cl
jmp 0x140025f18
lea rdx, [0x1400e8440]
mov r8d, 6
mov rcx, rsi
call fcn.1400c9ac4
test eax, eax
mov rax, qword [0x140112488]
jne 0x14002553c
cmp qword [rax + 0xd8], rdi
lea rbx, [rsi + 0xc]
mov ecx, 0x41
mov esi, 0xc1
cmovne esi, ecx
jmp 0x140025591
cmp qword [rax + 0xd8], rdi
je 0x140025e77
lea rdx, [0x1400e8450]
mov r8d, 5
mov rcx, rsi
call fcn.1400c9ac4
test eax, eax
jne 0x14002556b
lea rbx, [rsi + 0xa]
lea esi, [rax + 0x42]
jmp 0x140025591
lea rdx, [0x1400e46e8]
mov r8d, 6
mov rcx, rsi
call fcn.1400c9ac4
test eax, eax
jne 0x140025e77
lea rbx, [rsi + 0xc]
mov esi, 0x62
movzx eax, word [rbx]
mov dword [rsp + 0x44], esi
test ax, ax
je 0x140025e00
cmp ax, 0x20
je 0x1400255b1
cmp ax, 9
jne 0x140025e6c
movzx eax, word [rbx]
cmp ax, 0x20
je 0x1400255c0
cmp ax, 9
jne 0x1400255c6
add rbx, 2
jmp 0x1400255b1
cmp word [rbx], di
je 0x140025e00
movzx edi, word [rbx + 2]
xor eax, eax
xor edx, edx
mov rcx, rbx
mov word [rbx + 2], ax
call fcn.1400b11e0
mov word [rbx + 2], di
test eax, eax
je 0x140025e6c
mov rdi, qword [rbp + 0x10d60]
cmp byte [rdi + 0x7c], 0
je 0x14002565a
mov rax, qword [0x140112488]
mov rcx, qword [rax + 0xd8]
cmp byte [rcx + 0x5c], 0
jne 0x14002565a
cmp esi, 0x62
je 0x140025620
cmp esi, 0x42
setne al
add al, 0x41
mov byte [rcx + 0x5c], al
mov rsi, qword [rbp + 0x10d60]
mov rax, qword [rsi + 8]
test rax, rax
je 0x1400256b5
movzx eax, byte [rax]
cmp al, 9
jb 0x14002563f
cmp al, 0x20
jbe 0x140025653
cmp al, 0x21
je 0x140025653
cmp al, 0x69
jb 0x14002564b
cmp al, 0x6b
jbe 0x140025653
cmp al, 0x6f
jb 0x1400256b5
cmp al, 0x71
ja 0x1400256b5
mov byte [rsp + 0x48], 1
jmp 0x1400256ba
mov rax, qword [0x140112488]
mov rcx, qword [rax + 0xd8]
test rcx, rcx
je 0x140025620
movzx eax, byte [rcx + 0x5c]
cmp esi, eax
jne 0x140025620
cmp esi, 0x41
jne 0x140025695
mov r8, qword [rbp + 0x10d68]
lea rdx, [0x1400e8460]
mov rcx, rdi
call fcn.1400404f0
jmp 0x140027e58
cmp esi, 0x42
jne 0x140025620
mov r8, qword [rbp + 0x10d68]
lea rdx, [0x1400e84d0]
mov rcx, rdi
call fcn.1400404f0
jmp 0x140027e58
mov byte [rsp + 0x48], 0
cmp word [rbx], 0
mov byte [rbp + 0x10d80], 0
je 0x140025e32
nop dword [rax + rax]
lea rdx, [0x1400e8540]
mov rcx, rbx
call fcn.14000c5c0
mov rdi, rax
test rax, rax
jne 0x1400256f9
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea rdi, [rbx + rcx*2 - 2]
mov rax, qword [0x140112488]
mov r8, rdi
sub r8, rbx
sar r8, 1
cmp qword [rax + 0xd8], 0
mov qword [rsp + 0x60], r8
je 0x140025842
mov rax, qword [rax + 0xd8]
xor ecx, ecx
mov esi, ecx
cmp dword [rax + 0x20], ecx
jle 0x140025779
mov qword [rsp + 0x78], rcx
mov rax, qword [rax + 0x18]
or r9, 0xffffffffffffffff
mov rdx, qword [rax + rcx]
mov rcx, rbx
mov rdx, qword [rdx + 0x28]
call fcn.1400ac530
test eax, eax
je 0x140025d2f
mov rcx, qword [rsp + 0x78]
mov rax, qword [0x140112488]
mov r8, qword [rsp + 0x60]
mov rax, qword [rax + 0xd8]
add rcx, 0x18
inc esi
mov qword [rsp + 0x78], rcx
cmp esi, dword [rax + 0x20]
jl 0x140025731
mov rcx, qword [rbp + 0x10d60]
xor esi, esi
xor r9d, r9d
mov rdx, rbx
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 2
call fcn.14002e160
mov ecx, dword [rsp + 0x44]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400257c7
movzx eax, byte [rax + 0x22]
xor eax, ecx
test eax, 0xffffffbf
jne 0x140025d4a
cmp ecx, 0x62
je 0x140025d4a
mov qword [rsp + 0x58], rsi
cmp ecx, 0x41
je 0x140025828
mov rax, qword [0x140112488]
mov dword [rsp + 0x70], esi
mov rcx, qword [rax + 0xd8]
cmp dword [rcx + 0x54], esi
jle 0x140025828
mov rax, qword [rcx + 0x40]
mov r9, qword [rsp + 0x60]
or r8, 0xffffffffffffffff
mov rcx, qword [rax + rsi*8]
mov rdx, rbx
mov rcx, qword [rcx + 0x28]
call fcn.1400ac530
test eax, eax
mov rax, qword [0x140112488]
mov rcx, qword [rax + 0xd8]
je 0x1400258dc
mov edx, dword [rsp + 0x70]
inc rsi
inc edx
mov dword [rsp + 0x70], edx
cmp edx, dword [rcx + 0x54]
jl 0x1400257e3
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x140025d4f
mov r8, qword [rsp + 0x60]
mov rsi, qword [rbp + 0x10d60]
cmp word [rbx], 0
je 0x140025dde
mov r9d, dword [rsp + 0x44]
mov rdx, rbx
mov rcx, rsi
call fcn.14002e0e0
mov rsi, rax
test rax, rax
je 0x140025dde
movzx eax, byte [rax + 0x23]
test al, al
jne 0x140025878
mov rax, qword [rsi + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 1
jne 0x140025de5
mov r8, qword [rsp + 0x60]
lea rdx, str.ErrorLevel
or r9, 0xffffffffffffffff
mov rcx, rbx
call fcn.1400ac530
test eax, eax
je 0x140025de5
mov eax, dword [rsp + 0x44]
cmp eax, 0x41
jne 0x1400258e9
mov rdx, qword [0x140112488]
mov rax, qword [rdx + 0xd8]
cmp dword [rax + 0x54], 0x7d0
jge 0x140025d7e
movsxd rcx, dword [rax + 0x54]
mov rax, qword [rax + 0x40]
mov qword [rax + rcx*8], rsi
mov rax, qword [rdx + 0xd8]
inc dword [rax + 0x54]
jmp 0x1400258f3
mov rax, qword [rcx + 0x40]
mov rcx, qword [rax + rsi*8]
jmp 0x14002582d
cmp eax, 0xc1
jne 0x1400258f3
mov byte [rsi + 0x22], al
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140025902
cmp ax, 9
jne 0x140025908
add rdi, 2
jmp 0x1400258f3
movzx eax, word [rdi]
test eax, eax
je 0x140025d16
cmp eax, 0x2c
je 0x140025cfd
cmp eax, 0x3a
je 0x14002592f
cmp eax, 0x3d
jne 0x14002593e
add rdi, 2
mov sil, 1
jmp 0x140025941
cmp word [rdi + 2], 0x3d
jne 0x140025d99
add rdi, 4
xor sil, sil
mov edx, 0x2c
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
call fcn.1400aee70
movsxd rcx, eax
lea rax, [rdi + rcx*2]
lea rdi, [rdi + rcx*2 - 2]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], rdi
cmp rdi, rbx
jbe 0x14002598d
nop
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14002597f
cmp ax, 9
jne 0x140025988
sub rdi, 2
cmp rdi, rbx
ja 0x140025970
mov qword [rsp + 0x78], rdi
movzx eax, word [rdi + 2]
xor edx, edx
mov word [rsp + 0x40], ax
mov word [rdi + 2], dx
test sil, sil
je 0x140025c2c
lea rcx, [rbp + 0x8d30]
sub rcx, rbx
nop
movzx eax, word [rbx]
add rbx, 2
mov word [rcx + rbx - 2], ax
test ax, ax
jne 0x1400259b0
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp + 0x8d30]
repne scasw ax, word [rdi]
mov dword [rsp + 0x60], 1
mov rsi, rdx
not rcx
mov rbx, rdx
mov qword [rbp - 0x80], rdx
dec rcx
mov rax, rcx
mov qword [rsp + 0x58], rcx
cmp word [rbp + 0x8d30], dx
je 0x140025c20
cmp word [0x1400e4720], dx
je 0x140025c20
cmp rax, 0x1388
jb 0x140025bbb
lea rdi, [rbp + 0x8d30]
mov dword [rsp + 0x70], edx
mov qword [rbp - 0x78], rdi
nop word [rax + rax]
lea rdx, [0x1400e4720]
mov rcx, rdi
call fcn.1400ca8a4
mov rcx, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x140025b1a
mov r10d, dword [rsp + 0x70]
mov edx, dword [rsp + 0x60]
mov rdi, rax
mov rax, qword [rbp - 0x78]
inc r10d
dec edx
sub rdi, rax
mov dword [rsp + 0x70], r10d
mov dword [rsp + 0x60], edx
sar rdi, 1
lea r8, [rdi + rbx]
mov qword [rbp - 0x70], r8
add r8, 2
cmp r8, qword [rbp - 0x80]
jb 0x140025ada
mov rax, rcx
movsxd rcx, r8d
lea r9, [rbp + 0x8d30]
sub rax, r9
movsxd r9, dword [rsp + 0x58]
mov r8d, edx
sar rax, 1
mov edx, r10d
cdqe
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov ecx, 1
call fcn.1400ad130
mov rcx, rsi
lea rdx, [rax + rax]
mov qword [rbp - 0x80], rax
call fcn.1400cadf4
test rax, rax
je 0x140025b65
mov rsi, rax
mov rax, qword [rbp - 0x78]
test rdi, rdi
je 0x140025af3
lea r8, [rdi + rdi]
lea rcx, [rsi + rbx*2]
mov rdx, rax
call fcn.1400ca550
mov rbx, qword [rbp - 0x70]
mov eax, dword [0x1400e4718]
mov rdi, qword [rsp + 0x50]
add rbx, 2
mov dword [rsi + rbx*2 - 4], eax
mov eax, dword [rsp + 0x60]
add rdi, 2
mov qword [rbp - 0x78], rdi
test eax, eax
jne 0x140025a30
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x140025c1e
lea rcx, [rbp + 0x8d30]
mov rax, rdi
sub rax, rcx
mov rcx, qword [rsp + 0x58]
sar rax, 1
sub rcx, rax
mov qword [rsp + 0x58], rcx
je 0x140025b97
lea rax, [rcx + rbx]
mov qword [rbp - 0x78], rax
cmp rax, qword [rbp - 0x80]
jb 0x140025b83
lea rdx, [rax + rax + 2]
mov rcx, rsi
call fcn.1400cadf4
test rax, rax
jne 0x140025b7b
test rsi, rsi
je 0x140025c1e
mov rcx, rsi
call fcn.1400ca390
jmp 0x140025c1e
mov rcx, qword [rsp + 0x58]
mov rsi, rax
lea r8, [rcx + rcx]
lea rcx, [rsi + rbx*2]
mov rdx, rdi
call fcn.1400ca550
mov rbx, qword [rbp - 0x78]
xor eax, eax
lea r8, [rbx + rbx + 2]
lea rcx, [rbp + 0x8d30]
mov rdx, rsi
mov word [rsi + rbx*2], ax
call fcn.1400ca550
mov rcx, rsi
call fcn.1400ca390
jmp 0x140025c1e
mov rsi, qword [rsp + 0x58]
lea rbx, [rbp + 0x8d30]
nop word [rax + rax]
lea rdx, [0x1400e4720]
mov rcx, rbx
call fcn.1400ca8a4
mov rdi, rax
test rax, rax
je 0x140025c1e
lea rbx, [rax + 4]
lea rcx, [rbp + 0x8d30]
mov r8, rsi
sub rax, rcx
lea rdx, [rdi + 2]
mov rcx, rbx
sar rax, 1
sub r8, rax
add r8, r8
call fcn.1400ca550
mov eax, dword [0x1400e4718]
inc rsi
dec dword [rsp + 0x60]
mov dword [rdi], eax
jne 0x140025bd0
xor edx, edx
mov rdi, qword [rsp + 0x78]
lea rbx, [rbp + 0x8d30]
mov esi, dword [rsp + 0x44]
cmp esi, 0x62
jne 0x140025c42
mov rcx, qword [rbp + 0x10d60]
mov byte [rcx + 0x7d], 1
jmp 0x140025c7a
cmp byte [rsp + 0x48], 0
je 0x140025c7a
cmp byte [rbp + 0x10d80], 0
jne 0x140025c7a
mov rcx, qword [rbp + 0x10d60]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
xor r8d, r8d
mov dl, 0x75
call fcn.140028500
test eax, eax
je 0x140025dde
mov byte [rbp + 0x10d80], 1
xor eax, eax
mov rdx, rbx
mov rbx, qword [rbp + 0x10d60]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov rcx, rbx
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.140025470
test eax, eax
je 0x140025dde
cmp esi, 0x62
jne 0x140025ccb
mov rcx, qword [rbx + 8]
mov byte [rbx + 0x7d], 0
movzx eax, byte [rcx]
mov qword [rcx + 0x10], rax
mov rax, qword [rbx + 8]
mov byte [rax], 8
movzx eax, word [rsp + 0x40]
mov word [rdi + 2], ax
mov rax, qword [rsp + 0x68]
cmp word [rax], 0x2c
jne 0x140025cf8
lea rbx, [rax + 2]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140025cf2
cmp ax, 9
jne 0x140025d19
add rbx, 2
jmp 0x140025ce3
mov rbx, rax
jmp 0x140025d19
lea rbx, [rdi + 2]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140025d10
cmp ax, 9
jne 0x140025d19
add rbx, 2
jmp 0x140025d01
mov rbx, rdi
cmp word [rbx], 0
je 0x140025db4
mov rsi, qword [rbp + 0x10d60]
jmp 0x1400256d0
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e8550]
mov r8, rbx
call fcn.1400404f0
jmp 0x140027e58
mov rcx, qword [rsp + 0x58]
movzx eax, byte [rcx + 0x22]
lea rdx, [0x1400e85d0]
lea rcx, [0x1400e8598]
shr al, 6
and al, 1
cmovne rdx, rcx
mov rcx, qword [rbp + 0x10d60]
mov r8, rbx
call fcn.1400404f0
jmp 0x140027e58
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e8688]
mov r8, rbx
call fcn.1400404f0
jmp 0x140027e58
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e7de0]
mov r8, rbx
call fcn.1400404f0
jmp 0x140027e58
cmp byte [rbp + 0x10d80], 0
je 0x140025e32
mov rcx, qword [rbp + 0x10d60]
xor r9d, r9d
xor r8d, r8d
mov dl, 0x76
mov qword [rsp + 0x20], 0
call fcn.140028500
test eax, eax
jne 0x140025e32
xor eax, eax
jmp 0x140027e58
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e8630]
mov r8, rbx
call fcn.1400404f0
jmp 0x140027e58
mov rdi, qword [rbp + 0x10d60]
cmp byte [rdi + 0x7c], 0
je 0x140025e51
mov rax, qword [0x140112488]
mov rcx, qword [rax + 0xd8]
movzx eax, byte [rcx + 0x5c]
test al, al
jne 0x140025e3c
mov eax, 0x46
cmp esi, 0x42
cmove esi, eax
mov byte [rcx + 0x5c], sil
mov eax, 1
jmp 0x140027e58
cmp al, 0x46
jne 0x140025e51
cmp esi, 0x62
jne 0x140025e51
mov byte [rcx + 0x5c], 0x66
lea eax, [rsi - 0x61]
jmp 0x140027e58
mov r8, qword [rbp + 0x10d68]
lea rdx, [0x1400e7de0]
mov rcx, rdi
call fcn.1400404f0
jmp 0x140027e58
mov rsi, qword [rbp + 0x10d68]
mov ebx, dword [rsp + 0x40]
mov rcx, qword [rbp + 0x10d60]
lea rdx, [rbp + 0x120]
mov r9b, 1
mov r8, rsi
call fcn.140028090
mov qword [rbp + 0x10d88], rax
test rax, rax
je 0x140025dde
lea rcx, [rax + 2]
mov rsi, rcx
movzx eax, word [rsi]
cmp ax, 0x20
je 0x140025eb6
cmp ax, 9
jne 0x140025ebc
add rsi, 2
jmp 0x140025ea7
movzx eax, word [rcx]
cmp ax, word [0x140112474]
je 0x140025f11
test ax, ax
je 0x140025f11
cmp ax, 0x20
je 0x140025f11
cmp ax, 9
je 0x140025f11
cmp ax, 0x28
jne 0x140025f0d
lea rdx, [0x1400e788c]
lea rcx, [rbp + 0x120]
call fcn.1400c986c
test eax, eax
je 0x140025f11
lea rdx, [0x1400e7898]
lea rcx, [rbp + 0x120]
call fcn.1400c986c
test eax, eax
je 0x140025f11
xor cl, cl
jmp 0x140025f13
mov cl, 1
mov r9d, dword [rsp + 0x60]
movzx eax, word [0x140112474]
mov byte [rsp + 0x48], cl
mov byte [rbp + 0x10d80], 0
lea r8, [0x140000000]
cmp word [rsi], ax
jne 0x140025f50
movzx eax, word [rsi + 2]
add rsi, 2
cmp ax, 0x20
je 0x140025f36
cmp ax, 9
jne 0x1400267fa
jmp 0x140025f36
test bl, bl
jne 0x140026b0a
test r9b, r9b
jne 0x140026808
test cl, cl
je 0x1400264ee
lea rdx, [0x1400e788c]
lea rcx, [rbp + 0x120]
call fcn.1400c986c
test eax, eax
jne 0x1400264e7
movzx ecx, word [rsi]
cmp cx, 0x28
je case.0x140026133.34
cmp cx, word [0x140112478]
jne 0x140025fb2
movzx eax, word [rsi + 2]
cmp ax, 0x20
je case.0x140026133.34
cmp ax, 9
je case.0x140026133.34
movzx eax, word [0x140112474]
mov r8d, SafeArrayAllocDescriptor
mov dword [rbp - 0x40], 0x7b
mov word [rbp - 0x66], ax
mov eax, 0x28
mov word [rbp - 0x68], r8w
mov word [rbp - 0x64], ax
mov eax, 9
mov rdi, rsi
mov word [rbp - 0x62], ax
mov eax, 0x3c
mov word [rbp - 0x60], ax
mov eax, 0x3e
mov word [rbp - 0x5e], ax
mov eax, 0x3a
mov word [rbp - 0x5c], ax
mov eax, 0x3d
mov word [rbp - 0x5a], ax
mov eax, 0x2b
mov word [rbp - 0x58], ax
mov eax, 0x2d
mov word [rbp - 0x56], ax
mov eax, 0x2a
mov word [rbp - 0x54], ax
mov eax, 0x2f
mov word [rbp - 0x52], ax
mov eax, SafeArrayAllocDescriptor
mov word [rbp - 0x50], ax
mov eax, 0x7e
mov word [rbp - 0x4e], ax
mov eax, 0x26
mov word [rbp - 0x4c], ax
mov eax, 0x7c
mov word [rbp - 0x4a], ax
mov eax, 0x5e
mov word [rbp - 0x48], ax
mov eax, 0x5b
mov word [rbp - 0x46], ax
mov eax, 0x2e
mov word [rbp - 0x44], ax
mov eax, 0x3f
mov word [rbp - 0x42], ax
test cx, cx
je 0x1400260a7
movzx edx, word [rsi]
test dx, dx
je 0x1400260a7
lea rcx, [rbp - 0x68]
mov eax, r8d
cmp dx, ax
je 0x1400260f0
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x140026088
movzx edx, word [rdi + 2]
add rdi, 2
test dx, dx
jne 0x140026081
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea rdi, [rsi + rcx*2 - 2]
lea rdx, [0x1400e5360]
mov r8d, 3
mov rcx, rsi
call fcn.1400c9ac4
test eax, eax
jne 0x140026105
movzx edx, word [rsi + 6]
lea rcx, [rbp - 0x68]
call fcn.1400ca884
test rax, rax
je 0x140026105
mov bl, 1
jmp 0x140026107
movzx eax, word [rdi]
cmp ax, r8w
je 0x1400260ff
cmp ax, 9
jne 0x1400260bb
add rdi, 2
jmp 0x1400260f0
xor bl, bl
movzx eax, word [rdi]
add eax, 0xffffffdf
cmp eax, 0x4d
ja case.0x140026133.34
lea r8, [0x140000000]
cdqe
movzx eax, byte [r8 + rax + 0x27e90]
mov ecx, dword [r8 + rax*4 + 0x27e6c]
add rcx, r8
jmp rcx
mov bl, reloc.OLEAUT32.dll_SafeArrayGetUBound
mov dword [rsp + 0x40], ebx
jmp 0x1400263f7
movzx ecx, word [rdi + 2]
sub ecx, 0x3d
je 0x140026158
dec ecx
je 0x14002619d
mov bl, reloc.OLEAUT32.dll_SafeArrayAccessData
mov dword [rsp + 0x40], ebx
jmp 0x1400263f7
mov bl, reloc.OLEAUT32.dll_SafeArrayUnaccessData
mov eax, SafeArrayAllocDescriptor
mov dword [rsp + 0x40], ebx
mov word [rdi + 2], ax
jmp 0x1400263f7
cmp word [rdi + 2], 0x3d
jne 0x140026187
mov bl, reloc.OLEAUT32.dll_SafeArrayUnlock
mov eax, SafeArrayAllocDescriptor
mov dword [rsp + 0x40], ebx
mov word [rdi + 2], ax
jmp 0x1400263f7
mov bl, reloc.OLEAUT32.dll_SafeArrayLock
mov dword [rsp + 0x40], ebx
jmp 0x1400263f7
cmp word [rdi + 2], 0x3d
jne case.0x140026133.34
mov bl, reloc.OLEAUT32.dll_SafeArrayGetLBound
mov eax, SafeArrayAllocDescriptor
mov dword [rsp + 0x40], ebx
mov word [rdi + 2], ax
jmp 0x1400263f7
test bl, bl
jne case.0x140026133.34
lea rdx, [0x1400e4670]
mov r8d, 7
mov rcx, rdi
call fcn.1400c9ac4
test eax, eax
jne case.0x140026133.34
mov dword [rdi], 0x200020
mov dword [rdi + 4], 0x200020
mov bl, reloc.OLEAUT32.dll_SafeArrayDestroy
mov edx, SafeArrayAllocDescriptor
mov dword [rdi + 8], 0x200020
mov dword [rsp + 0x40], ebx
mov word [rdi + 0xc], dx
jmp 0x1400263f7
test bl, bl
jne case.0x140026133.34
lea rdx, [0x1400e46b8]
mov r8d, 8
mov rcx, rdi
call fcn.1400c9ac4
test eax, eax
jne case.0x140026133.34
mov dword [rdi], 0x200020
mov dword [rdi + 4], 0x200020
mov bl, reloc.WSOCK32.dll_inet_ntoa
mov dword [rdi + 8], 0x200020
mov dword [rdi + 0xc], 0x200020
mov dword [rsp + 0x40], ebx
jmp 0x1400263f7
movzx ecx, word [rdi + 2]
call fcn.14000c590
movzx r11d, ax
cmp r11d, 0x4e
je 0x1400262e2
cmp r11d, 0x53
je 0x140026276
cmp r11d, 0x6e
je 0x1400262e2
cmp r11d, 0x73
jne case.0x140026133.34
test bl, bl
jne case.0x140026133.34
lea rbx, [rdi + 4]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140026291
cmp ax, 9
jne 0x140026297
add rbx, 2
jmp 0x140026282
lea rdx, [0x1400e86b8]
mov r8d, 3
mov rcx, rbx
call fcn.1400c9ac4
mov edx, SafeArrayAllocDescriptor
test eax, eax
je 0x1400262bd
mov bl, 0xd
mov dword [rsp + 0x40], ebx
jmp 0x1400262d0
mov dword [rbx], 0x200020
mov byte [rsp + 0x40], SafeArrayGetElemsize
mov word [rbx + 4], dx
mov ebx, dword [rsp + 0x40]
mov word [rdi + 2], dx
cmp bl, 0x11
jne 0x1400263f7
jmp 0x1400264ac
test bl, bl
jne case.0x140026133.34
mov bl, 9
mov eax, SafeArrayAllocDescriptor
mov dword [rsp + 0x40], ebx
mov word [rdi + 2], ax
jmp 0x1400263f7
lea rdx, [0x1400e86b8]
mov r8d, 3
mov rcx, rdi
call fcn.1400c9ac4
test eax, eax
jne case.0x140026133.34
movzx eax, word [rdi + 6]
lea rbx, [rdi + 6]
cmp ax, 0x20
je 0x140026333
cmp ax, 9
jne case.0x140026133.34
mov eax, SafeArrayAllocDescriptor
mov dword [rdi], 0x200020
mov word [rdi + 4], ax
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140026351
cmp ax, 9
jne 0x140026357
add rbx, 2
jmp 0x140026342
lea rdx, [0x1400e46e0]
mov r8d, 2
mov rcx, rbx
call fcn.1400c9ac4
test eax, eax
jne 0x14002637d
mov byte [rsp + 0x40], 0xa
mov dword [rbx], 0x200020
jmp 0x1400263f3
lea rdx, [0x1400e4670]
mov r8d, 7
mov rcx, rbx
call fcn.1400c9ac4
test eax, eax
jne 0x1400263ba
mov dword [rbx], 0x200020
mov dword [rbx + 4], 0x200020
mov edx, SafeArrayAllocDescriptor
mov dword [rbx + 8], 0x200020
mov byte [rsp + 0x40], reloc.OLEAUT32.dll_SafeArrayGetDim
mov word [rbx + 0xc], dx
jmp 0x1400263f3
lea rdx, [0x1400e46b8]
mov r8d, 8
mov rcx, rbx
call fcn.1400c9ac4
test eax, eax
jne 0x1400263f3
mov dword [rbx], 0x200020
mov dword [rbx + 4], 0x200020
mov dword [rbx + 8], 0x200020
mov dword [rbx + 0xc], 0x200020
mov byte [rsp + 0x40], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov ebx, dword [rsp + 0x40]
movzx eax, word [0x140112474]
mov word [rdi], ax
cmp bl, 0xf
je 0x14002640f
cmp bl, 0x10
jne 0x1400267fa
lea rdx, [0x1400e7958]
mov rcx, rdi
call fcn.1400ac890
mov rdi, rax
test rax, rax
je 0x140026472
nop word [rax + rax]
movzx edx, word [rdi - 2]
lea rcx, [0x1400e56d0]
call fcn.1400ca884
test rax, rax
je 0x14002645a
movzx edx, word [rdi + 6]
lea rcx, [0x1400e56d0]
call fcn.1400ca884
test rax, rax
jne 0x140026491
lea rcx, [rdi + 6]
lea rdx, [0x1400e7958]
call fcn.1400ac890
mov rdi, rax
test rax, rax
jne 0x140026430
mov r8, qword [rbp + 0x10d68]
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e86c0]
call fcn.1400404f0
jmp 0x140027e58
movzx eax, word [0x140112474]
mov dword [rdi + 2], 0x200020
mov word [rdi], ax
jmp 0x1400267fa
mov byte [rsp + 0x40], reloc.OLEAUT32.dll_SafeArrayGetElemsize
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea rdx, [rsi + rcx*2 - 4]
cmp word [rdx], 0x7b
jne 0x140026b0a
mov word [rdx], ax
sub rdx, rsi
mov rcx, rsi
sar rdx, 1
call fcn.14001bf40
mov byte [rbp + 0x10d80], 1
jmp 0x140026b0a
lea r8, [0x140000000]
movzx edi, word [rsi]
movzx edx, word [rsi + 2]
lea rbx, [rsi + 2]
lea eax, [rdi - 0x26]
cmp eax, 0x56
ja case.0x14002651b.47
cdqe
movzx eax, byte [r8 + rax + 0x27f08]
mov ecx, dword [r8 + rax*4 + 0x27ee0]
add rcx, r8
jmp rcx
mov dil, 1
mov dword [rsp + 0x40], edi
jmp 0x1400266a5
cmp dx, 0x3d
jne case.0x14002651b.47
mov dil, 2
jmp 0x140026640
cmp word [rbp + 0x120], 0x2b
jne 0x140026556
cmp word [rbp + 0x122], 0
jne 0x140026556
mov al, 1
mov dil, 4
jmp 0x14002658e
xor al, al
cmp dx, 0x3d
jne case.0x14002651b.47
mov dil, 4
jmp 0x14002658e
cmp word [rbp + 0x120], 0x2d
jne 0x14002657f
cmp word [rbp + 0x122], 0
jne 0x14002657f
mov al, 1
jmp 0x14002658b
xor al, al
cmp dx, 0x3d
jne case.0x14002651b.47
mov dil, 5
mov dword [rsp + 0x40], edi
test al, al
je 0x140026612
movzx eax, word [rbx]
cmp ax, 0x20
je 0x1400265a5
cmp ax, 9
jne 0x1400265ab
add rbx, 2
jmp 0x140026596
lea rdx, [0x1400e8720]
mov rcx, rbx
call fcn.14000c5c0
mov rsi, qword [rbp + 0x10d68]
test rax, rax
je 0x1400265d1
mov bl, 3
mov dword [rsp + 0x40], ebx
jmp 0x1400267fa
or rcx, 0xffffffffffffffff
mov rdi, rbx
mov rdx, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx + rcx]
lea rdi, [rcx - 1]
mov rcx, rsi
call fcn.1400ca550
movzx edx, word [0x140112474]
mov eax, gethostbyname
mov word [rsi + rdi*2], dx
mov word [rsi + rdi*2 + 2], ax
xor eax, eax
mov word [rsi + rdi*2 + 4], ax
jmp 0x1400267f6
cmp dil, 3
je 0x1400267ef
cmp dil, 1
je 0x14002669b
jmp 0x140026644
cmp dx, 0x3d
jne case.0x14002651b.47
mov dil, 6
jmp 0x140026640
cmp dx, 0x3d
jne 0x1400266cd
mov dil, 7
mov dword [rsp + 0x40], edi
movzx edx, word [0x140112474]
xor r9d, r9d
mov rcx, rsi
lea r8d, [r9 + 2]
call fcn.1400aee70
movsxd rcx, eax
cmp word [rsi + rcx*2], r9w
je 0x14002669b
cmp dil, 4
je 0x140026670
cmp dil, 5
jne 0x1400266e2
lea rcx, [rsi + rcx*2 + 2]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x140026684
cmp ax, 9
jne 0x14002668a
add rcx, 2
jmp 0x140026675
lea rdx, [0x1400e8720]
call fcn.14000c5c0
test rax, rax
jne 0x1400266e2
cmp dil, 3
je 0x1400267ef
movzx eax, word [0x140112474]
mov word [rsi], ax
mov rsi, qword [rbp + 0x10d68]
cmp dil, 1
je 0x1400267f6
mov eax, SafeArrayAllocDescriptor
mov word [rbx], ax
jmp 0x1400267f6
cmp dx, 0x2f
jne case.0x14002651b.47
cmp word [rsi + 4], 0x3d
jne case.0x14002651b.47
mov rsi, qword [rbp + 0x10d68]
mov bl, 3
mov dword [rsp + 0x40], ebx
jmp 0x1400267fa
cmp dx, 0x3d
jne case.0x14002651b.47
mov rsi, qword [rbp + 0x10d68]
mov bl, 3
mov dword [rsp + 0x40], ebx
jmp 0x1400267fa
cmp dx, di
jmp 0x1400266d1
cmp dx, 0x3d
je 0x1400266e2
mov rcx, rbx
call fcn.140042300
mov rdi, rax
cmp word [rax], 0x28
je 0x1400266e2
nop dword [rax]
cmp rdi, rbx
je case.0x14002651b.47
nop dword [rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14002674f
cmp ax, 9
jne 0x140026755
add rdi, 2
jmp 0x140026740
movzx edx, word [rdi]
cmp dx, 0x5b
je 0x1400266e2
test dx, dx
je 0x1400266e2
cmp word [rdi + 2], 0x3d
lea rbx, [rdi + 2]
jne 0x140026787
lea rcx, [0x1400e8700]
call fcn.1400ca884
test rax, rax
jne 0x1400266e2
movzx eax, word [rdi]
cmp word [rbx], ax
jne 0x1400267c5
lea rcx, [0x1400e8718]
movzx edx, ax
call fcn.1400ca884
test rax, rax
je 0x1400267ae
cmp word [rdi + 4], 0x3d
je 0x1400266e2
movzx eax, word [rdi]
cmp ax, 0x2b
je 0x1400266e2
cmp ax, 0x2d
je 0x1400266e2
cmp ax, 0x2e
jne case.0x14002651b.47
mov rcx, rbx
call fcn.140042300
mov rdi, rax
cmp word [rax], 0x28
jne 0x140026730
mov rsi, qword [rbp + 0x10d68]
mov bl, 3
mov dword [rsp + 0x40], ebx
jmp 0x1400267fa
mov rsi, qword [rbp + 0x10d68]
mov ebx, dword [rsp + 0x40]
test bl, bl
jne 0x140026b0a
jmp 0x140026808
mov ebx, dword [rsp + 0x40]
cmp byte [rsp + 0x48], 0
mov edi, dword [rsp + 0x60]
je 0x1400268b1
test dil, dil
jne 0x1400268b1
mov ebx, reloc.OLEAUT32.dll_SafeArrayGetElement
lea rdi, [0x140000000]
mov dword [rsp + 0x40], ebx
movsxd rax, ebx
lea rcx, [rbp + 0x120]
lea rdx, [rax + rax*8]
mov rdx, qword [rdi + rdx*2 + 0x112570]
call fcn.1400c986c
test eax, eax
je 0x140026864
inc ebx
mov dword [rsp + 0x40], ebx
cmp ebx, 0xe4
jl 0x140026830
mov byte [rsp + 0x40], 0
jmp 0x14002686c
test bl, bl
jne 0x140026990
mov edi, 1
lea rbx, [0x140000000]
mov dword [rsp + 0x60], edi
nop dword [rax]
movsxd rax, edi
lea rcx, [rbp + 0x120]
lea rdx, [rax + rax*8]
mov rdx, qword [rbx + rdx*2 + 0x113580]
call fcn.1400c986c
test eax, eax
je 0x1400268c0
inc edi
mov dword [rsp + 0x60], edi
cmp edi, 0xe
jl 0x140026880
mov byte [rsp + 0x60], 0
jmp 0x1400268c9
test bl, bl
jne 0x140026b0a
lea rbx, [0x140000000]
test dil, dil
jne 0x140026b0a
movzx eax, word [rsi]
cmp ax, 0x7b
jne 0x140026999
mov edi, reloc.OLEAUT32.dll_SafeArrayGetElement
nop dword [rax + rax]
movsxd rax, edi
lea rcx, [rbp + 0x120]
lea rdx, [rax + rax*8]
mov rdx, qword [rbx + rdx*2 + 0x112570]
call fcn.1400c986c
test eax, eax
je 0x140026957
inc edi
cmp edi, 0xe4
jl 0x1400268e0
movzx edx, word [rsi]
lea rcx, [0x1400e8720]
call fcn.1400ca884
test rax, rax
je 0x140026a98
movzx eax, word [rsi]
cmp ax, 0x2b
je 0x140026934
cmp ax, 0x2d
jne 0x140026a65
cmp word [rsi + 2], ax
jne 0x140026a65
cmp word [rsi + 4], 0
je 0x140026a30
mov byte [rsp + 0x40], 3
mov ecx, dword [rsp + 0x40]
jmp 0x140026a51
cmp dil, 0x21
je 0x14002697f
cmp dil, 0x69
je 0x140026971
cmp dil, 0x6e
jbe 0x140026909
cmp dil, 0x71
jbe 0x14002697f
jmp 0x140026909
cmp word [rsi + 2], 0
mov byte [rbp + 0x10d80], 1
jne 0x140026909
mov byte [rsp + 0x40], dil
test dil, dil
je 0x140026909
lea rdi, [0x140000000]
mov ecx, dword [rsp + 0x40]
jmp 0x140026b15
cmp ax, 0x3a
jne 0x140026909
lea rdx, [0x1400e7158]
lea rcx, [rbp + 0x120]
call fcn.1400c986c
test eax, eax
jne 0x140026909
mov rbx, qword [rbp + 0x10d60]
xor edi, edi
xor r9d, r9d
xor r8d, r8d
mov dl, reloc.WSOCK32.dll_WSACleanup
mov rcx, rbx
mov qword [rsp + 0x20], rdi
call fcn.140028500
test eax, eax
je 0x140025dde
lea rdx, [rsi + 2]
nop dword [rax + rax]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x1400269ff
cmp ax, 9
jne 0x140026a05
add rdx, 2
jmp 0x1400269f0
cmp word [rdx], di
je 0x140025e32
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
xor r9d, r9d
mov qword [rsp + 0x28], rdi
xor r8d, r8d
mov rcx, rbx
mov qword [rsp + 0x20], rdi
jmp 0x140027e53
cmp ax, 0x2b
movzx eax, word [0x140112474]
setne cl
mov word [rsi], ax
mov eax, gethostbyname
add cl, 4
mov word [rsi + 2], ax
mov dword [rsp + 0x40], ecx
mov rbx, qword [rbp + 0x10d68]
mov rsi, rbx
test cl, cl
jne 0x140026b0e
jmp 0x140026a9f
cmp ax, 0x3f
je 0x140026a8f
mov edx, 0x3f
mov rcx, rsi
call fcn.1400ca884
test rax, rax
je 0x140026a98
mov edx, 0x3a
mov rcx, rax
call fcn.1400ca884
test rax, rax
je 0x140026a98
mov rsi, qword [rbp + 0x10d68]
jmp 0x140026b05
mov rbx, qword [rbp + 0x10d68]
movzx eax, word [rsi]
cmp ax, 0x28
je 0x140026b02
cmp ax, 0x5b
je 0x140026b02
cmp word [rbx], 0x28
je 0x140026b02
lea rdx, [0x1400e8758]
mov r8d, 3
mov rcx, rbx
call fcn.1400c9ac4
test eax, eax
jne 0x140026add
movzx eax, word [rbx + 6]
cmp ax, 0x20
je 0x140026b02
cmp ax, 9
je 0x140026b02
lea rdx, [0x1400e799c]
mov rcx, rbx
call fcn.1400ca8a4
lea rcx, [0x1400e8760]
lea rdx, [0x1400e7de0]
test rax, rax
jmp 0x140025d66
mov rsi, rbx
mov byte [rsp + 0x40], 3
mov ecx, dword [rsp + 0x40]
lea rdi, [0x140000000]
xor r8d, r8d
movzx ecx, cl
sub ecx, 0x21
mov qword [rsp + 0x58], r8
je 0x140026c98
sub ecx, 0x4e
je 0x140026c98
dec ecx
je 0x140026c90
dec ecx
je 0x140026c98
cmp ecx, 3
jne 0x140026ccc
mov edi, r8d
lea ebx, [rcx + 0x37]
lea r9d, [rcx + 0x7a]
lea r8d, [rcx + 0x26]
nop dword [rax]
movsxd rax, edi
lea rdx, [rsi + rax*2]
movzx eax, word [rsi + rax*2]
cmp ax, bx
jne 0x140026b7b
cmp word [rdx + 2], 0x3d
jne case.0x140026ba2.0
movzx eax, ax
cmp eax, 0x7d
ja case.0x140026ba2.3
lea r10, [0x140000000]
movzx eax, byte [r10 + rax + 0x27f80]
mov ecx, dword [r10 + rax*4 + 0x27f60]
add rcx, r10
jmp rcx
movzx eax, word [rdx + 2]
add rdx, 2
inc edi
test ax, ax
je case.0x140026ba2.0
cmp ax, 0x22
jne case.0x140026ba2.1
inc edi
jmp 0x140026b60
lea r8d, [rdi + 1]
mov edx, ebx
xor r9d, r9d
mov rcx, rsi
call fcn.1400aefb0
movsxd rdi, eax
jmp 0x140026c08
movzx eax, r8w
jmp 0x140026bf0
mov eax, 0x5d
jmp 0x140026bf0
movzx eax, r9w
lea r8d, [rdi + 1]
xor r9d, r9d
movzx edx, ax
mov rcx, rsi
call fcn.1400aefb0
movsxd rdi, eax
mov rax, rdi
cmp word [rsi + rdi*2], 0
je case.0x140026ba2.0
mov r9d, 0x7d
lea r8d, [r9 - 0x54]
inc edi
jmp 0x140026b60
mov rbx, qword [rbp + 0x10d68]
movsxd rdi, edi
cmp word [rsi + rdi*2], 0
jne 0x140026c4c
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e8780]
mov r8, rbx
call fcn.1400404f0
jmp 0x140027e58
xor ebx, ebx
or rdx, 0xffffffffffffffff
mov rcx, rsi
mov word [rsi + rdi*2], bx
call fcn.14001bf40
lea rdx, [rsi + rdi*2 + 2]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x140026c72
cmp ax, 9
jne 0x140026c78
add rdx, 2
jmp 0x140026c63
mov qword [rsp + 0x58], rdx
lea rdi, [0x140000000]
cmp word [rdx], bx
jne 0x140026cce
mov qword [rsp + 0x58], rbx
jmp 0x140026cce
cmp word [rsi], 0x7b
jne 0x140026ccc
jmp 0x140026c9e
cmp word [rsi], 0x7b
jne 0x140026cb9
mov byte [rbp + 0x10d80], 1
movzx eax, word [rsi + 2]
add rsi, 2
cmp ax, 0x20
je 0x140026ca5
cmp ax, 9
je 0x140026ca5
cmp word [rsi], r8w
je 0x140026ccc
mov qword [rsp + 0x58], rsi
sub rsi, 2
mov word [rsi], r8w
xor ebx, ebx
mov eax, dword [rsp + 0x40]
test al, al
je 0x140026ceb
movzx eax, al
lea rcx, [rax + rax*8]
lea rdi, [rdi + rcx*2 + 0x112570]
mov qword [rbp - 0x78], rdi
jmp 0x140026d00
movzx eax, byte [rsp + 0x60]
lea rcx, [rax + rax*8]
lea rax, [rdi + rcx*2 + 0x113580]
mov qword [rbp - 0x78], rax
lea rcx, [rbp + 0xd20]
xor edx, edx
mov r8d, 0x8002
call fcn.1400d0130
mov rdx, qword [rbp + 0x10d90]
test rdx, rdx
je 0x140026dab
mov ecx, dword [rbp + 0x10d98]
mov rax, rsi
sub rax, qword [rbp + 0x10d88]
sar rax, 1
sub ecx, eax
test ecx, ecx
jle 0x140026d55
movsxd r8, ecx
cdqe
lea rcx, [rbp + 0xd20]
lea rdx, [rdx + rax*2]
add r8, r8
call fcn.1400ca550
mov eax, dword [rsp + 0x40]
xor r10d, r10d
mov dword [rsp + 0x70], r10d
cmp al, 0x22
jne 0x1400273fd
mov edx, r10d
mov ebx, 1
mov dword [rsp + 0x50], ebx
cmp word [rsi], dx
je 0x1400274ed
nop
cmp ebx, 1
jle 0x140026d87
inc edx
movsxd rax, edx
lea rcx, [rsi + rax*2]
nop
movzx eax, word [rcx]
cmp ax, 0x20
je 0x140026da3
cmp ax, 9
jne 0x140026e9b
inc edx
add rcx, 2
jmp 0x140026d90
mov edx, ebx
mov dword [rsp + 0x70], ebx
cmp word [rsi + rbx*2], 0
mov r10d, reloc.WSOCK32.dll_inet_ntoa
lea r9d, [r10 + 2]
lea r8d, [r10 - 1]
lea edi, [r10 + 1]
je 0x140026d55
movzx eax, word [0x14011247c]
cmp word [rsi + rbx*2], ax
je 0x140026de3
inc rbx
inc edx
cmp word [rsi + rbx*2], 0
jne 0x140026dd1
cmp word [rsi + rbx*2], 0
mov dword [rsp + 0x70], edx
je 0x140026d55
movzx eax, word [rsi + rbx*2 + 2]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x140026e13.99
lea r11, [0x140000000]
cdqe
mov ecx, dword [r11 + rax*4 + 0x28000]
add rcx, r11
jmp rcx
mov eax, 7
mov word [rsi + rbx*2 + 2], ax
jmp case.0x140026e13.99
mov eax, 8
mov word [rsi + rbx*2 + 2], ax
jmp case.0x140026e13.99
mov word [rsi + rbx*2 + 2], di
jmp case.0x140026e13.99
mov word [rsi + rbx*2 + 2], r8w
jmp case.0x140026e13.99
mov word [rsi + rbx*2 + 2], r9w
jmp case.0x140026e13.99
mov eax, 9
mov word [rsi + rbx*2 + 2], ax
jmp case.0x140026e13.99
mov word [rsi + rbx*2 + 2], r10w
movsxd rax, edx
or rcx, 0xffffffffffffffff
lea r9, [rsi + rax*2]
xor eax, eax
lea rdx, [r9 + 2]
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx + rcx]
mov rcx, r9
call fcn.1400ca550
mov edx, dword [rsp + 0x70]
mov eax, 1
inc edx
mov word [rbp + rbx*2 + 0xd20], ax
inc rbx
mov dword [rsp + 0x70], edx
jmp 0x140026db1
cmp ax, word [0x140112478]
jne 0x140026ef1
movsxd rax, edx
cmp word [rbp + rax*2 + 0xd20], 0
jne 0x140026ef1
movzx eax, word [rsi + rax*2 + 2]
cmp ax, 0x20
je 0x140026ec3
cmp ax, 9
jne 0x140026ef1
cmp ebx, 3
jge 0x1400274ed
lea r8d, [rdx + 2]
movzx edx, word [0x140112474]
lea r9, [rbp + 0xd20]
mov rcx, rsi
call fcn.1400aee70
xor r10d, r10d
mov r8d, eax
jmp 0x140027089
movsxd rcx, edx
mov r8d, edx
mov dword [rsp + 0x44], edx
cmp word [rsi + rcx*2], 0
lea rdi, [rsi + rcx*2]
je 0x140026f3a
nop word [rax + rax]
movzx eax, word [0x140112474]
cmp word [rsi + rcx*2], ax
jne 0x140026f28
cmp word [rbp + rcx*2 + 0xd20], 0
je 0x140026f35
inc rcx
inc r8d
cmp word [rsi + rcx*2], 0
jne 0x140026f10
mov dword [rsp + 0x44], r8d
cmp ebx, 1
jne 0x140027084
movsxd rax, r8d
mov qword [rbp - 0x80], rax
cmp word [rsi + rax*2], 0
je 0x1400274ed
mov word [rsi + rax*2], r10w
nop word [rax + rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140026f6f
cmp ax, 9
jne 0x140026f75
add rdi, 2
jmp 0x140026f60
movzx eax, word [rdi]
test ax, ax
je 0x14002705c
cmp ax, 0x2d
je 0x140027054
cmp ax, 0x2b
jne 0x140026f95
add rdi, 2
cmp word [rdi], 0x30
jne 0x140026fc9
movzx eax, word [rdi + 2]
cmp ax, 0x78
je 0x140026fab
cmp ax, 0x58
jne 0x140026fc9
movzx ecx, word [rdi + 4]
call fcn.1400cb0d4
test eax, eax
je 0x140026fc6
add rdi, 4
mov eax, 1
xor r10d, r10d
jmp 0x140026fcc
xor r10d, r10d
mov eax, r10d
movzx ebx, word [rdi]
cdqe
mov ecx, r10d
mov qword [rsp + 0x78], rax
cmp ebx, 0x20
je 0x140027035
nop
cmp ebx, 9
je 0x140027035
test ebx, ebx
je 0x140027050
cmp ebx, 0x2e
je 0x140027054
test rax, rax
je 0x140027014
movzx ecx, bx
call fcn.1400cb644
xor r10d, r10d
test eax, eax
mov ecx, r10d
sete cl
test ecx, ecx
je 0x14002701c
movzx ecx, bx
call fcn.14000c590
jmp 0x140027054
lea eax, [rbx - 0x30]
cmp eax, 9
ja 0x14002700a
movzx ebx, word [rdi + 2]
add rdi, 2
mov ecx, 1
cmp ebx, 0x20
je 0x140027035
mov rax, qword [rsp + 0x78]
jmp 0x140026fe0
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140027044
cmp ax, 9
jne 0x14002704a
add rdi, 2
jmp 0x140027035
cmp word [rdi], 0
jne 0x140027054
test ecx, ecx
jne 0x14002705c
mov dword [rsp + 0x70], 1
cmp dword [rsp + 0x70], 0
mov rcx, qword [rbp - 0x80]
movzx eax, word [0x140112474]
mov word [rsi + rcx*2], ax
jne 0x1400274ed
mov r8d, dword [rsp + 0x44]
mov ebx, dword [rsp + 0x50]
xor r10d, r10d
jmp 0x140027089
cmp ebx, 4
je 0x1400270a5
inc ebx
movsxd rax, r8d
mov edx, r8d
cmp word [rsi + rax*2], 0
mov dword [rsp + 0x50], ebx
jne 0x140026d80
jmp 0x1400274ed
movsxd r9, edx
mov qword [rbp - 0x80], r9
lea rcx, [rsi + r9*2]
mov qword [rbp - 0x70], rcx
mov rdi, rcx
movzx eax, word [rdi]
cmp ax, 0x20
je 0x1400270c6
cmp ax, 9
jne 0x1400270cc
add rdi, 2
jmp 0x1400270b7
movzx eax, word [rdi]
test ax, ax
je 0x1400274ed
cmp ax, 0x2d
je 0x140027243
cmp ax, 0x2b
jne 0x1400270ec
add rdi, 2
cmp word [rdi], 0x30
jne 0x140027120
movzx eax, word [rdi + 2]
cmp ax, 0x78
je 0x140027102
cmp ax, 0x58
jne 0x140027120
movzx ecx, word [rdi + 4]
call fcn.1400cb0d4
test eax, eax
je 0x14002711d
add rdi, 4
mov eax, 1
xor r10d, r10d
jmp 0x140027123
xor r10d, r10d
mov eax, r10d
movzx ebx, word [rdi]
mov ecx, r10d
mov edx, r10d
cdqe
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x68], edx
mov qword [rsp + 0x78], rax
cmp ebx, 0x20
je 0x1400271b0
cmp ebx, 9
je 0x1400271a5
test ebx, ebx
je 0x140027217
cmp ebx, 0x2e
jne 0x14002716e
test ecx, ecx
jne 0x140027236
test rax, rax
jne 0x140027236
mov ecx, 1
mov dword [rsp + 0x50], ecx
jmp 0x140027198
test rax, rax
je 0x1400271c5
movzx ecx, bx
call fcn.1400cb644
xor ecx, ecx
test eax, eax
sete cl
test ecx, ecx
jne 0x1400271cd
mov ecx, dword [rsp + 0x50]
mov edx, 1
mov dword [rsp + 0x68], edx
mov rax, qword [rsp + 0x78]
movzx ebx, word [rdi + 2]
add rdi, 2
cmp ebx, 0x20
jne 0x140027140
xor r10d, r10d
nop dword [rax + rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x1400271bf
cmp ax, 9
jne 0x14002721c
add rdi, 2
jmp 0x1400271b0
lea eax, [rbx - 0x30]
cmp eax, 9
jbe 0x14002718a
movzx ecx, bx
call fcn.14000c590
cmp ax, 0x45
jne 0x140027236
cmp dword [rsp + 0x50], 0
je 0x140027236
mov edx, dword [rsp + 0x68]
test edx, edx
je 0x140027236
movzx eax, word [rdi + 2]
cmp ax, 0x2d
je 0x1400271fa
cmp ax, 0x2b
jne 0x1400271fe
add rdi, 2
movzx eax, word [rdi + 2]
cmp ax, 0x30
jb 0x140027236
cmp ax, 0x39
ja 0x140027236
mov ecx, dword [rsp + 0x50]
jmp 0x140027193
xor r10d, r10d
jmp 0x140027222
cmp word [rdi], 0
jne 0x140027236
test edx, edx
je 0x140027236
test ecx, ecx
mov eax, r10d
setne al
inc eax
jne 0x1400274ed
mov r9, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x70]
mov r8d, dword [rsp + 0x44]
movsxd rax, r8d
cmp word [rsi + rax*2], 0
jne 0x1400273f0
movzx edx, word [0x140112478]
cmp word [rcx], dx
jne 0x1400273f0
cmp word [rbp + r9*2 + 0xd20], 0
jne 0x1400273f0
add rcx, 2
call fcn.1400ca884
test rax, rax
je 0x1400273f0
lea rdi, [rax + 2]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140027296
cmp ax, 9
jne 0x14002729c
add rdi, 2
jmp 0x140027287
movzx eax, word [rdi]
test ax, ax
je 0x1400274ed
cmp ax, 0x2d
je 0x1400273f0
cmp ax, 0x2b
jne 0x1400272bc
add rdi, 2
cmp word [rdi], 0x30
jne 0x1400272ea
movzx eax, word [rdi + 2]
cmp ax, 0x78
je 0x1400272d2
cmp ax, 0x58
jne 0x1400272ea
movzx ecx, word [rdi + 4]
call fcn.1400cb0d4
test eax, eax
je 0x1400272ea
mov eax, 1
add rdi, 4
jmp 0x1400272ec
xor eax, eax
movzx ebx, word [rdi]
xor ecx, ecx
xor edx, edx
cdqe
mov dword [rsp + 0x44], ecx
mov dword [rsp + 0x50], edx
mov qword [rsp + 0x78], rax
cmp ebx, 0x20
je 0x140027370
cmp ebx, 9
je 0x140027370
test ebx, ebx
je 0x1400273dd
cmp ebx, 0x2e
jne 0x140027335
test ecx, ecx
jne 0x1400273f0
test rax, rax
jne 0x1400273f0
mov ecx, 1
mov dword [rsp + 0x44], ecx
jmp 0x14002735f
test rax, rax
je 0x140027385
movzx ecx, bx
call fcn.1400cb644
xor ecx, ecx
test eax, eax
sete cl
test ecx, ecx
jne 0x14002738d
mov ecx, dword [rsp + 0x44]
mov edx, 1
mov dword [rsp + 0x50], edx
mov rax, qword [rsp + 0x78]
movzx ebx, word [rdi + 2]
add rdi, 2
cmp ebx, 0x20
jne 0x140027307
nop dword [rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14002737f
cmp ax, 9
jne 0x1400273d7
add rdi, 2
jmp 0x140027370
lea eax, [rbx - 0x30]
cmp eax, 9
jbe 0x140027351
movzx ecx, bx
call fcn.14000c590
cmp ax, 0x45
jne 0x1400273f0
cmp dword [rsp + 0x44], 0
je 0x1400273f0
mov edx, dword [rsp + 0x50]
test edx, edx
je 0x1400273f0
movzx eax, word [rdi + 2]
lea rcx, [rdi + 2]
cmp ax, 0x2d
je 0x1400273be
cmp ax, 0x2b
jne 0x1400273c1
mov rdi, rcx
movzx eax, word [rdi + 2]
cmp ax, 0x30
jb 0x1400273f0
cmp ax, 0x39
ja 0x1400273f0
mov ecx, dword [rsp + 0x44]
jmp 0x14002735a
cmp word [rdi], 0
jne 0x1400273f0
test edx, edx
je 0x1400273f0
xor eax, eax
test ecx, ecx
setne al
inc eax
jne 0x1400274ed
mov dword [rsp + 0x70], 3
jmp 0x1400274ed
cmp al, 0x6a
jne 0x1400274ed
mov rdi, rsi
cmp word [rsi], r10w
je 0x140027455
nop
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14002741f
cmp ax, 9
jne 0x14002744b
movzx ecx, word [rdi + 2]
call fcn.1400cbb98
cmp eax, 0x69
jne 0x14002744b
movzx ecx, word [rdi + 4]
call fcn.1400cbb98
cmp eax, 0x6e
jne 0x14002744b
movzx eax, word [rdi + 6]
cmp ax, 0x20
je 0x140027455
cmp ax, 9
je 0x140027455
add rdi, 2
cmp word [rdi], 0
jne 0x140027410
cmp word [rdi], 0
jne 0x14002747a
mov r8, qword [rbp + 0x10d68]
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e87a0]
call fcn.1400404f0
jmp 0x140027e58
mov rax, rdi
mov edx, 1
sub rax, rsi
sar rax, 1
movsxd rcx, eax
test eax, eax
jle 0x1400274a7
nop
movzx eax, word [0x140112474]
cmp word [rsi + rcx*2], ax
jne 0x14002749f
inc edx
dec rcx
test rcx, rcx
jg 0x140027490
movzx eax, word [0x140112474]
mov word [rdi + 2], ax
cmp edx, 1
jle 0x1400274e2
cmp edx, 2
jle 0x1400274db
mov r8, qword [rbp + 0x10d68]
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e87e0]
call fcn.1400404f0
jmp 0x140027e58
mov eax, SafeArrayAllocDescriptor
jmp 0x1400274e9
movzx eax, word [0x140112474]
mov word [rdi + 4], ax
mov eax, dword [rsp + 0x70]
xor dil, dil
xor cl, cl
xor edx, edx
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x44], ecx
mov qword [rsp + 0x78], rdx
test eax, eax
jne 0x140027511
mov rax, qword [rbp - 0x78]
movsx eax, byte [rax + 9]
movsxd r8, eax
dec eax
mov ebx, edx
cdqe
mov r10d, edx
mov dword [rsp + 0x50], edx
mov qword [rbp - 0x80], rdx
mov qword [rbp - 0x38], r8
mov qword [rbp - 0x70], rax
cmp word [rsi], dx
je 0x140027824
cmp rdx, r8
jge 0x140027824
cmp r10d, 2
jne 0x140027644
movzx eax, byte [rsp + 0x40]
sub al, 0x18
cmp al, 3
ja 0x140027626
mov rcx, qword [rbp + 0x10d60]
movsxd rax, ebx
lea rdx, [rbp + 0x320]
lea r8, [rsi + rax*2]
xor r9d, r9d
call fcn.140028090
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140027622
mov edi, reloc.OLEAUT32.dll_SafeArrayGetElement
mov dword [rsp + 0x68], edi
nop dword [rax]
movsxd rcx, edi
lea rax, [0x140000000]
lea rdx, [rcx + rcx*8]
lea rcx, [rbp + 0x320]
mov rdx, qword [rax + rdx*2 + 0x112570]
call fcn.1400c986c
test eax, eax
je 0x1400275cd
inc edi
mov dword [rsp + 0x68], edi
cmp edi, 0xe4
jl 0x140027590
xor dil, dil
mov dword [rsp + 0x68], edi
jmp 0x1400275d6
test dil, dil
jne 0x140027805
mov eax, 1
mov dword [rsp + 0x44], eax
nop
cdqe
lea rcx, [rbp + 0x320]
lea rdx, [rax + rax*8]
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*2 + 0x113580]
call fcn.1400c986c
test eax, eax
je 0x14002761c
mov eax, dword [rsp + 0x44]
inc eax
mov dword [rsp + 0x44], eax
cmp eax, 0xe
jl 0x1400275e0
xor cl, cl
mov dword [rsp + 0x44], ecx
jmp 0x140027637
mov ecx, dword [rsp + 0x44]
jmp 0x14002762f
mov ecx, dword [rsp + 0x44]
test dil, dil
jne 0x140027805
test cl, cl
jne 0x140027805
mov rax, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x80]
mov r10d, dword [rsp + 0x50]
movsxd rdi, ebx
lea r8, [rsi + rdi*2]
lea rcx, [rbp + rdi*2 + 0xd20]
mov qword [rsp + 0x70], r8
mov qword [rbp + rdx*8 - 0x20], r8
mov qword [rbp - 0x30], rcx
mov qword [rbp + rdx*8 + 0x80], rcx
cmp rdx, rax
je 0x140027818
movzx eax, word [0x140112478]
cmp word [r8], ax
jne 0x14002769e
cmp word [rcx], 0
jne 0x14002769e
movzx eax, word [r8 + 2]
cmp ax, 0x20
je 0x14002775a
cmp ax, 9
je 0x14002775a
mov rax, qword [rbp - 0x78]
lea edx, [r10 + 1]
lea rcx, [rax + 0xb]
movzx eax, byte [rax + 0xb]
test al, al
je 0x1400276c4
movzx eax, al
cmp eax, edx
je 0x140027735
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x1400276b2
mov eax, dword [rsp + 0x40]
cmp al, 0x74
je 0x14002775a
cmp al, 0x2b
jne 0x140027701
cmp r10d, 2
je 0x1400276e0
cmp r10d, 3
jne 0x140027701
mov rcx, qword [rbp - 0x18]
call fcn.14001d390
test eax, eax
js 0x14002775a
cmp eax, 1
jle 0x1400276fc
cmp eax, 3
je 0x1400276fc
cmp eax, 5
jne 0x14002775a
mov r8, qword [rsp + 0x70]
cmp word [r8], 0
je 0x14002777a
movzx eax, word [rsi + rdi*2]
nop dword [rax]
cmp ax, word [0x140112474]
jne 0x140027724
cmp word [rbp + rdi*2 + 0xd20], 0
je 0x14002777a
movzx eax, word [rsi + rdi*2 + 2]
inc rdi
inc ebx
test ax, ax
jne 0x140027710
jmp 0x14002777a
cmp byte [rcx], 0
je 0x1400276c4
cmp byte [rsp + 0x40], 0x86
jne 0x14002775a
cmp r10d, 1
jle 0x14002775a
lea rdx, str.default
mov rcx, r8
call fcn.1400c986c
test eax, eax
je 0x1400276fc
movzx edx, word [0x140112474]
lea r9, [rbp + 0xd20]
mov r8d, ebx
mov rcx, rsi
call fcn.1400aee70
mov r8, qword [rsp + 0x70]
mov ebx, eax
movsxd rax, ebx
cmp word [rsi + rax*2], 0
je 0x1400277ce
mov rdx, qword [rbp - 0x30]
xor ecx, ecx
mov word [rsi + rax*2], cx
mov rcx, r8
call fcn.14001bec0
inc ebx
mov rdx, rsi
movsxd rax, ebx
lea rcx, [rbp + rax*2 + 0xd20]
lea rax, [rbp + 0xd20]
sub rdx, rax
movzx eax, word [rdx + rcx]
cmp ax, 0x20
je 0x1400277c0
cmp ax, 9
jne 0x1400277ce
cmp word [rcx], 0
jne 0x1400277ce
inc ebx
add rcx, 2
jmp 0x1400277b0
mov r10d, dword [rsp + 0x50]
mov rdx, qword [rbp - 0x80]
mov edi, dword [rsp + 0x68]
inc r10d
inc rdx
movsxd rax, ebx
cmp word [rsi + rax*2], 0
mov dword [rsp + 0x50], r10d
mov qword [rbp - 0x80], rdx
je 0x140027824
mov ecx, dword [rsp + 0x44]
mov r8, qword [rbp - 0x38]
mov rax, qword [rbp - 0x70]
jmp 0x140027536
mov r10d, dword [rsp + 0x50]
movsxd rax, ebx
lea rax, [rsi + rax*2]
mov qword [rsp + 0x58], rax
jmp 0x140027824
mov edi, dword [rsp + 0x68]
inc r10d
mov dword [rsp + 0x50], r10d
mov r11, qword [rbp - 0x78]
movsx ecx, byte [r11 + 8]
mov r8d, ecx
cmp r10d, ecx
jge 0x14002788d
mov r9, qword [r11]
lea rdx, reloc.WSOCK32.dll_WSAStartup
cmp cl, 1
lea rax, [0x1400e245c]
lea r8, [0x1400e8860]
cmovg rax, rdx
mov edx, 0x400
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
lea rcx, [rbp + 0x520]
call fcn.1400ac450
mov r8, qword [rbp + 0x10d68]
mov rcx, qword [rbp + 0x10d60]
lea rdx, [rbp + 0x520]
call fcn.1400404f0
jmp 0x140027e58
xor ebx, ebx
cmp byte [rsp + 0x40], 0x74
cmove r8d, r10d
mov edx, ebx
mov ecx, ebx
movsxd r9, r8d
test r8d, r8d
jle 0x1400278b8
mov rax, qword [rbp + rcx*8 - 0x20]
cmp word [rax], bx
je 0x1400278e8
inc rcx
inc edx
cmp rcx, r9
jl 0x1400278a4
mov edx, dword [rsp + 0x60]
test dl, dl
je case.default.0x1400278e6
movzx eax, dl
dec eax
cmp eax, 0xc
ja case.default.0x1400278e6
lea r8, [0x140000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x28058]
add rcx, r8
jmp rcx
mov r9, qword [r11]
lea eax, [rdx + 1]
lea r8, [0x1400e88b0]
lea rcx, [rbp + 0x520]
mov edx, 0x400
mov dword [rsp + 0x20], eax
call fcn.1400ac450
mov r8, qword [rbp + 0x10d68]
mov rcx, qword [rbp + 0x10d60]
lea rdx, [rbp + 0x520]
call fcn.1400404f0
jmp 0x140027e58
mov rcx, qword [rbp + 0x10d60]
movsxd rax, r10d
lea rdi, [0x1400e8910]
mov qword [rbp + rax*8 - 0x20], rdi
mov qword [rbp + rax*8 + 0x80], rbx
lea rax, [rbp + 0x80]
lea r9d, [r10 + 1]
lea r8, [rbp - 0x20]
mov dl, 0x8b
mov qword [rsp + 0x20], rax
call fcn.140028500
jmp 0x140027e58
mov rcx, qword [rbp + 0x10d60]
mov rbx, qword [rbp - 0x18]
xor esi, esi
lea rax, [rbp + 0x80]
lea rdi, [0x1400e8910]
lea r9d, [rsi + 2]
lea r8, [rbp - 0x20]
mov dl, 0x8b
mov qword [rbp + 0x88], rsi
mov qword [rbp - 0x18], rdi
mov qword [rsp + 0x20], rax
call fcn.140028500
test eax, eax
je 0x140025dde
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x10d60]
lea r9d, [rsi + 5]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0x98]
lea r8, [rbp - 0x20]
mov qword [rbp + 0x80], rax
mov rax, qword [rbp - 0x10]
mov dl, 0x8e
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x90]
mov qword [rbp - 0x10], rbx
mov qword [rbp + 0x98], rax
mov rax, qword [rbp]
mov qword [rbp + 0x90], rsi
mov qword [rbp - 0x18], rax
mov rax, qword [rbp + 0xa0]
mov qword [rbp], rdi
mov qword [rbp + 0x88], rax
lea rax, [rbp + 0x80]
mov qword [rbp + 0xa0], rsi
mov qword [rsp + 0x20], rax
call fcn.140028500
jmp 0x140027e58
mov rcx, qword [rbp + 0x10d60]
lea rax, [rbp + 0x80]
lea r8, [rbp - 0x20]
mov r9d, r10d
mov dl, 1
mov qword [rsp + 0x20], rax
call fcn.140028500
jmp 0x140027e58
mov rcx, qword [rbp + 0x10d60]
lea rax, [rbp + 0x80]
lea r8, [rbp - 0x20]
mov r9d, r10d
mov dl, 4
mov qword [rsp + 0x20], rax
call fcn.140028500
jmp 0x140027e58
mov rcx, qword [rbp + 0x10d60]
lea rax, [rbp + 0x80]
lea r8, [rbp - 0x20]
mov r9d, r10d
mov dl, 5
mov qword [rsp + 0x20], rax
call fcn.140028500
jmp 0x140027e58
mov rcx, qword [rbp + 0x10d60]
lea rax, [rbp + 0x80]
lea r8, [rbp - 0x20]
mov r9d, r10d
mov dl, 6
mov qword [rsp + 0x20], rax
call fcn.140028500
jmp 0x140027e58
mov rcx, qword [rbp + 0x10d60]
lea rax, [rbp + 0x80]
lea r8, [rbp - 0x20]
mov r9d, r10d
mov dl, 7
mov qword [rsp + 0x20], rax
call fcn.140028500
jmp 0x140027e58
mov cl, reloc.OLEAUT32.dll_SafeArrayGetUBound
mov dword [rsp + 0x40], ecx
jmp 0x140027b1a
mov cl, reloc.OLEAUT32.dll_SafeArrayGetLBound
mov dword [rsp + 0x40], ecx
jmp 0x140027b1a
mov cl, reloc.OLEAUT32.dll_SafeArrayLock
mov dword [rsp + 0x40], ecx
jmp 0x140027b1a
mov cl, reloc.OLEAUT32.dll_SafeArrayUnlock
mov dword [rsp + 0x40], ecx
jmp 0x140027b1a
mov cl, reloc.OLEAUT32.dll_SafeArrayAccessData
mov dword [rsp + 0x40], ecx
jmp 0x140027b1a
mov cl, reloc.OLEAUT32.dll_SafeArrayUnaccessData
mov dword [rsp + 0x40], ecx
jmp 0x140027b1a
mov ecx, dword [rsp + 0x40]
test r10d, r10d
je 0x140027b86
test dil, dil
jne 0x140027b86
cmp byte [rsp + 0x44], bl
jne 0x140027b86
lea eax, [rcx - 0x12]
cmp al, 0xe
ja 0x140027b86
cmp cl, 0x17
ja 0x140027b3e
sub dl, 6
cmp dl, 5
ja 0x140027b86
movsxd rax, r10d
mov rax, qword [rbp + rax*8 - 0x28]
mov rcx, rax
mov qword [rbp - 0x30], rax
sub rcx, rsi
sar rcx, 1
movsxd rax, ecx
cmp word [rsi + rax*2], bx
je 0x140027b86
movzx edx, word [rsi + rax*2]
cmp dx, word [0x140112474]
jne 0x140027b77
cmp word [rbp + rax*2 + 0xd20], bx
je 0x140027c4a
movzx edx, word [rsi + rax*2 + 2]
inc rax
inc ecx
test dx, dx
jne 0x140027b60
mov ebx, dword [rsp + 0x68]
mov edx, dword [rsp + 0x40]
cmp dl, 0x69
je 0x140027b98
cmp dl, 0x6b
jne 0x140027ba8
cmp r10d, 1
jne 0x140027ba8
mov rax, qword [rbp - 0x20]
cmp word [rax], 0
jne 0x140027bc4
cmp dl, 0x6a
je 0x140027bbb
cmp dl, 0x70
je 0x140027bbb
cmp dl, 0x73
jne 0x140027d78
test r10d, r10d
je 0x140027d78
or rcx, 0xffffffffffffffff
movsxd rax, r10d
mov r8, qword [rbp + rax*8 - 0x28]
xor eax, eax
mov rdi, r8
repne scasw ax, word [rdi]
xor edi, edi
not rcx
cmp word [r8 + rcx*2 - 4], 0x7b
jne 0x140027d7a
mov word [r8 + rcx*2 - 4], di
or rdx, 0xffffffffffffffff
mov rcx, r8
mov byte [rbp + 0x10d80], 1
call fcn.14001bf40
mov edx, dword [rsp + 0x40]
test rax, rax
jne 0x140027d7a
cmp dl, 0x69
je 0x140027d73
cmp dl, 0x70
je 0x140027d73
cmp dl, 0x73
je 0x140027d73
mov r8, qword [rbp + 0x10d68]
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e8328]
call fcn.1400404f0
jmp 0x140027e58
movsxd rax, ecx
inc ecx
mov qword [rbp - 0x38], rax
movsxd rax, ecx
lea rdx, [rsi + rax*2]
nop word [rax + rax]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x140027c6f
cmp ax, 9
jne 0x140027c77
inc ecx
add rdx, 2
jmp 0x140027c60
movsxd rax, ecx
mov rcx, qword [rbp + 0x10d60]
lea rdx, [rbp + 0x320]
lea rax, [rsi + rax*2]
xor r9d, r9d
mov r8, rax
mov qword [rsp + 0x58], rax
call fcn.140028090
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140027d5e
mov edi, reloc.OLEAUT32.dll_SafeArrayGetElement
nop
movsxd rax, edi
lea rcx, [rbp + 0x320]
lea rdx, [rax + rax*8]
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*2 + 0x112570]
call fcn.1400c986c
test eax, eax
je 0x140027ce2
inc edi
cmp edi, 0xe4
jl 0x140027cb0
jmp 0x140027ceb
movzx ebx, dil
test dil, dil
jne 0x140027d3d
mov edi, 1
movsxd rax, edi
lea rcx, [rbp + 0x320]
lea rdx, [rax + rax*8]
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*2 + 0x113580]
call fcn.1400c986c
test eax, eax
je 0x140027d33
inc edi
cmp edi, 0xe
jl 0x140027cf0
mov r10d, dword [rsp + 0x50]
xor eax, eax
mov byte [rsp + 0x44], 0
mov qword [rsp + 0x58], rax
jmp 0x140027b8a
mov byte [rsp + 0x44], dil
test dil, dil
je 0x140027d62
mov rax, qword [rbp - 0x38]
xor ecx, ecx
or rdx, 0xffffffffffffffff
mov word [rsi + rax*2], cx
mov rcx, qword [rbp - 0x30]
call fcn.14001bf40
mov r10d, dword [rsp + 0x50]
jmp 0x140027b8a
mov ebx, dword [rsp + 0x68]
mov r10d, dword [rsp + 0x50]
xor eax, eax
mov qword [rsp + 0x58], rax
jmp 0x140027b8a
mov r9d, edi
jmp 0x140027d7f
xor edi, edi
mov r9d, dword [rsp + 0x50]
mov rcx, qword [rbp + 0x10d60]
lea rax, [rbp + 0x80]
lea r8, [rbp - 0x20]
mov qword [rsp + 0x20], rax
call fcn.140028500
test eax, eax
je 0x140025dde
cmp byte [rbp + 0x10d80], 0
je 0x140027dcd
mov rcx, qword [rbp + 0x10d60]
xor r9d, r9d
xor r8d, r8d
mov dl, 0x75
mov qword [rsp + 0x20], rdi
call fcn.140028500
test eax, eax
je 0x140025dde
mov r10, qword [rsp + 0x58]
test r10, r10
je 0x140025e32
mov rdx, qword [rsp + 0x78]
test rdx, rdx
jne 0x140027e01
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
xor r9d, r9d
mov qword [rsp + 0x28], rdi
xor r8d, r8d
mov qword [rsp + 0x20], rdi
jmp 0x140027e49
movzx r9d, byte [rsp + 0x44]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
movzx r8d, bl
repne scasw ax, word [rdi]
mov rax, rdx
sub rax, rsi
not rcx
dec rcx
sar rax, 1
mov qword [rsp + 0x38], rcx
lea rax, [rbp + rax*2 + 0xd20]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x320]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp + 0x10d60]
mov rdx, r10
call fcn.140025470
mov rbx, qword [rsp + 0x10e70]
add rsp, 0x10e40
pop rdi
pop rsi
pop rbp
ret