Function at 0x140020000
Capabilities:
Contain obfuscated stackstrings
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.1400c0680
sub rsp, rax
movzx r10d, r8b
mov dword [rsp + 0x50], r9d
mov r8, qword [rbp + 0x10d80]
xor edi, edi
mov dword [rsp + 0x40], r10d
mov rsi, rdx
mov ebx, 6
test r8, r8
je 0x14002008e
lea rdx, [rbp + 0x120]
sub rdx, r8
nop word [rax + rax]
movzx eax, word [r8]
mov word [rdx + r8], ax
lea r8, [r8 + 2]
test ax, ax
jne 0x140020060
mov rax, qword [rbp + 0x10d88]
test rax, rax
jne 0x140020835
mov qword [rsp + 0x58], rsi
xor cl, cl
jmp 0x1400208c3
cmp r10b, 3
jne 0x1400200ae
mov word [rbp + 0x120], di
xor cl, cl
mov qword [rbp + 0x10d88], rdi
mov qword [rsp + 0x58], rsi
jmp 0x1400208c3
mov r8, rbx
lea rdx, [0x1400e6a10]
mov rcx, rsi
call fcn.1400ad9d8
test eax, eax
mov rax, qword [0x140101a58]
jne 0x1400200e1
cmp qword [rax + 0xd8], rdi
mov esi, 0xc1
mov ecx, 0x41
cmovne esi, ecx
jmp 0x14002012e
cmp qword [rax + 0xd8], rdi
je 0x14002080c
mov r8d, 5
lea rdx, [0x1400e6a20]
mov rcx, rsi
call fcn.1400ad9d8
test eax, eax
jne 0x14002010f
lea esi, [rax + 0x42]
lea eax, [rsi - 0x38]
jmp 0x140020133
mov r8, rbx
lea rdx, [0x1400d0610]
mov rcx, rsi
call fcn.1400ad9d8
test eax, eax
jne 0x14002080c
mov esi, 0x62
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rdx, qword [rbp + 0x10d68]
mov dword [rsp + 0x44], esi
lea rbx, [rax + rdx]
movzx eax, word [rax + rdx]
test ax, ax
je 0x140020796
cmp ax, 0x20
je 0x140020160
cmp ax, 9
jne 0x140020800
nop
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14002016f
cmp ax, 9
jne 0x140020175
add rbx, 2
jmp 0x140020160
cmp word [rbx], di
je 0x140020796
movzx edi, word [rbx + 2]
xor eax, eax
xor edx, edx
mov word [rbx + 2], ax
mov rcx, rbx
call fcn.14008f990
mov word [rbx + 2], di
test eax, eax
je 0x1400207fe
mov r9, qword [rbp + 0x10d60]
cmp byte [r9 + 0x7c], 0
je 0x1400201fc
mov rax, qword [0x140101a58]
mov rcx, qword [rax + 0xd8]
cmp byte [rcx + 0x5c], 0
jne 0x1400201fc
cmp esi, 0x62
je 0x1400201d0
cmp esi, 0x42
setne al
add al, 0x41
mov byte [rcx + 0x5c], al
mov rax, qword [r9 + 8]
test rax, rax
je 0x140020257
movzx ecx, byte [rax]
lea eax, [rcx - 9]
cmp al, 0x18
jbe 0x1400201f5
sub cl, 0x69
cmp cl, 8
ja 0x140020257
mov eax, 0x1c7
bt eax, ecx
jae 0x140020257
mov byte [rsp + 0x48], 1
jmp 0x14002025c
mov rax, qword [0x140101a58]
mov rcx, qword [rax + 0xd8]
test rcx, rcx
je 0x1400201d0
movzx eax, byte [rcx + 0x5c]
cmp esi, eax
jne 0x1400201d0
cmp esi, 0x41
jne 0x140020237
mov r8, qword [rbp + 0x10d68]
lea rdx, [0x1400e6a30]
mov rcx, r9
call fcn.140039240
jmp 0x1400229d0
cmp esi, 0x42
jne 0x1400201d0
mov r8, qword [rbp + 0x10d68]
lea rdx, [0x1400e6aa0]
mov rcx, r9
call fcn.140039240
jmp 0x1400229d0
mov byte [rsp + 0x48], 0
cmp word [rbx], 0
mov byte [rbp + 0x10d80], 0
je 0x1400207c8
lea rdx, [0x1400e6b10]
mov rcx, rbx
or r11, 0xffffffffffffffff
call fcn.14000adc0
mov rdi, rax
test rax, rax
jne 0x1400202a0
mov rax, r11
nop dword [rax + rax]
cmp word [rbx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x140020290
lea rdi, [rbx + rax*2]
mov rcx, qword [0x140101a58]
mov r8, rdi
add rcx, 0xd8
sub r8, rbx
sar r8, 1
mov qword [rsp + 0x58], r8
mov rax, qword [rcx]
test rax, rax
je 0x140020408
xor edx, edx
mov esi, edx
cmp dword [rax + 0x20], edx
jle 0x140020332
mov qword [rbp - 0x70], rdx
nop word [rax + rax]
mov rax, qword [rcx]
mov r9, r11
mov rcx, qword [rax + 0x18]
mov rdx, qword [rcx + rdx]
mov rcx, rbx
mov rdx, qword [rdx + 0x28]
call fcn.14008b630
test eax, eax
je 0x1400206fb
mov rdx, qword [rbp - 0x70]
inc esi
mov rcx, qword [0x140101a58]
add rdx, 0x18
mov r8, qword [rsp + 0x58]
add rcx, 0xd8
mov qword [rbp - 0x70], rdx
mov r11, 0xffffffffffffffff
mov rax, qword [rcx]
cmp esi, dword [rax + 0x20]
jl 0x1400202e0
mov rcx, qword [rbp + 0x10d60]
xor esi, esi
mov qword [rsp + 0x28], rsi
xor r9d, r9d
mov rdx, rbx
mov dword [rsp + 0x20], 2
call fcn.140028ca0
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140020383
movzx ecx, byte [rax + 0x22]
mov eax, dword [rsp + 0x44]
xor ecx, eax
test ecx, 0xffffffbf
jne 0x140020716
cmp eax, 0x62
je 0x140020716
mov qword [rsp + 0x68], rsi
jmp 0x140020387
mov eax, dword [rsp + 0x44]
cmp eax, 0x41
je 0x1400203f5
mov rax, qword [0x140101a58]
mov dword [rsp + 0x70], esi
mov rcx, qword [rax + 0xd8]
cmp dword [rcx + 0x54], esi
jle 0x1400203f5
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx + 0x40]
or r8, 0xffffffffffffffff
mov r9, qword [rsp + 0x58]
mov rdx, rbx
mov rcx, qword [rax + rsi*8]
mov rcx, qword [rcx + 0x28]
call fcn.14008b630
test eax, eax
mov rax, qword [0x140101a58]
mov rcx, qword [rax + 0xd8]
je 0x14002049b
mov edx, dword [rsp + 0x70]
inc rsi
inc edx
mov dword [rsp + 0x70], edx
cmp edx, dword [rcx + 0x54]
jl 0x1400203b0
mov rcx, qword [rsp + 0x68]
test rcx, rcx
jne 0x14002071b
mov r8, qword [rsp + 0x58]
mov r9d, dword [rsp + 0x44]
mov rdx, rbx
mov rcx, qword [rbp + 0x10d60]
call fcn.140028c10
mov rsi, rax
test rax, rax
je 0x1400206f4
movzx eax, byte [rax + 0x23]
test al, al
jne 0x140020438
mov rax, qword [rsi + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 1
jne 0x14002077b
mov r8, qword [rsp + 0x58]
lea rdx, [0x1400e5da0]
or r9, 0xffffffffffffffff
mov rcx, rbx
call fcn.14008b630
test eax, eax
je 0x14002077b
mov eax, dword [rsp + 0x44]
cmp eax, 0x41
jne 0x1400204a8
mov rdx, qword [0x140101a58]
mov rax, qword [rdx + 0xd8]
movsxd rcx, dword [rax + 0x54]
cmp ecx, 0x7d0
jge 0x140020745
mov rax, qword [rax + 0x40]
mov qword [rax + rcx*8], rsi
mov rax, qword [rdx + 0xd8]
inc dword [rax + 0x54]
jmp 0x1400204b2
mov rax, qword [rcx + 0x40]
mov rcx, qword [rax + rsi*8]
jmp 0x1400203fa
cmp eax, 0xc1
jne 0x1400204b2
mov byte [rsi + 0x22], al
movzx eax, word [rdi]
cmp ax, 0x20
je 0x1400204c1
cmp ax, 9
jne 0x1400204c7
add rdi, 2
jmp 0x1400204b2
movzx eax, word [rdi]
test eax, eax
je 0x1400206b5
cmp eax, 0x2c
je 0x14002069a
cmp eax, 0x3a
je 0x1400204ee
cmp eax, 0x3d
jne 0x1400204fd
add rdi, 2
mov sil, 1
jmp 0x140020500
cmp word [rdi + 2], 0x3d
jne 0x140020760
add rdi, 4
xor sil, sil
mov edx, 0x2c
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
call fcn.14008dee0
movsxd rcx, eax
lea rax, [rdi + rcx*2]
lea rdi, [rdi + rcx*2]
mov qword [rsp + 0x78], rax
add rdi, 0xfffffffffffffffe
cmp rdi, rbx
jbe 0x140020548
nop dword [rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14002053f
cmp ax, 9
jne 0x140020548
sub rdi, 2
cmp rdi, rbx
ja 0x140020530
movzx eax, word [rdi + 2]
xor edx, edx
mov word [rsp + 0x40], ax
mov word [rdi + 2], dx
test sil, sil
je 0x1400205c2
lea rcx, [rbp + 0x8d30]
sub rcx, rbx
nop word [rax + rax]
movzx eax, word [rbx]
mov word [rcx + rbx], ax
lea rbx, [rbx + 2]
test ax, ax
jne 0x140020570
mov qword [rsp + 0x38], rdx
lea r8, [0x1400d05e8]
mov qword [rsp + 0x30], rdx
lea rcx, [rbp + 0x8d30]
mov eax, 1
mov qword [rsp + 0x28], 0xffffffffffffffff
mov r9d, eax
mov dword [rsp + 0x20], eax
lea rdx, [0x1400d05e4]
call fcn.14008bdd0
xor edx, edx
lea rbx, [rbp + 0x8d30]
mov esi, dword [rsp + 0x44]
cmp esi, 0x62
jne 0x1400205d8
mov rax, qword [rbp + 0x10d60]
mov byte [rax + 0x7d], 1
jmp 0x140020610
cmp byte [rsp + 0x48], 0
je 0x140020610
cmp byte [rbp + 0x10d80], 0
jne 0x140020610
mov rcx, qword [rbp + 0x10d60]
xor r9d, r9d
mov qword [rsp + 0x20], rdx
xor r8d, r8d
mov dl, 0x75
call fcn.140022f70
test eax, eax
je 0x1400206f4
mov byte [rbp + 0x10d80], 1
xor eax, eax
mov rdx, rbx
mov rbx, qword [rbp + 0x10d60]
xor r9d, r9d
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov qword [rsp + 0x30], rax
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.140020000
test eax, eax
je 0x1400206f4
cmp esi, 0x62
jne 0x140020661
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 + 0x78]
cmp word [rax], 0x2c
jne 0x140020695
lea rbx, [rax + 2]
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14002068f
cmp ax, 9
jne 0x1400206b8
add rbx, 2
jmp 0x140020680
mov rbx, rax
jmp 0x1400206b8
lea rbx, [rdi + 2]
nop
movzx eax, word [rbx]
cmp ax, 0x20
je 0x1400206af
cmp ax, 9
jne 0x1400206b8
add rbx, 2
jmp 0x1400206a0
mov rbx, rdi
cmp word [rbx], 0
jne 0x14002026d
cmp byte [rbp + 0x10d80], 0
je 0x1400207c8
mov rcx, qword [rbp + 0x10d60]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], 0
mov dl, 0x76
call fcn.140022f70
test eax, eax
jne 0x1400207c8
xor eax, eax
jmp 0x1400229d0
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e6b20]
mov r8, rbx
call fcn.140039240
jmp 0x1400229d0
mov rcx, qword [rsp + 0x68]
test byte [rcx + 0x22], 0x40
lea rax, [0x1400e6b68]
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e6ba0]
cmovne rdx, rax
mov r8, rbx
call fcn.140039240
jmp 0x1400229d0
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e6c58]
mov r8, rbx
call fcn.140039240
jmp 0x1400229d0
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e6370]
mov r8, rbx
call fcn.140039240
jmp 0x1400229d0
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e6c00]
mov r8, rbx
call fcn.140039240
jmp 0x1400229d0
mov r9, qword [rbp + 0x10d60]
cmp byte [r9 + 0x7c], dil
je 0x1400207e7
mov rax, qword [0x140101a58]
mov rcx, qword [rax + 0xd8]
movzx eax, byte [rcx + 0x5c]
test al, al
jne 0x1400207d2
cmp esi, 0x42
mov eax, 0x46
cmove esi, eax
mov byte [rcx + 0x5c], sil
mov eax, 1
jmp 0x1400229d0
cmp al, 0x46
jne 0x1400207e7
cmp esi, 0x62
jne 0x1400207e7
mov byte [rcx + 0x5c], 0x66
lea eax, [rsi - 0x61]
jmp 0x1400229d0
mov r8, rdx
mov rcx, r9
lea rdx, [0x1400e6370]
call fcn.140039240
jmp 0x1400229d0
xor edi, edi
mov rsi, qword [rbp + 0x10d68]
mov ebx, 6
mov rcx, qword [rbp + 0x10d60]
lea rdx, [rbp + 0x120]
mov r9b, 1
mov r8, rsi
call fcn.140022c10
mov qword [rbp + 0x10d88], rax
test rax, rax
je 0x1400206f4
lea rcx, [rax + 2]
mov rsi, rcx
nop dword [rax]
movzx eax, word [rsi]
cmp ax, 0x20
je 0x14002084f
cmp ax, 9
jne 0x140020855
add rsi, 2
jmp 0x140020840
movzx ecx, word [rcx]
cmp cx, word [0x1401033f8]
mov qword [rsp + 0x58], rsi
je 0x1400208b7
cmp cx, 0x20
ja 0x14002087f
movzx eax, cx
movabs rdx, 0x100000201
bt rdx, rax
jb 0x1400208b7
cmp cx, 0x28
jne 0x1400208b3
lea rdx, [0x1400e5df4]
lea rcx, [rbp + 0x120]
call fcn.1400ab3f0
test eax, eax
je 0x1400208b7
lea rdx, [0x1400e5e00]
lea rcx, [rbp + 0x120]
call fcn.1400ab3f0
test eax, eax
je 0x1400208b7
xor cl, cl
jmp 0x1400208b9
mov cl, 1
mov r9d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x40]
movzx eax, word [0x1401033f8]
or r11, 0xffffffffffffffff
mov byte [rsp + 0x48], cl
mov byte [rbp + 0x10d80], 0
mov dword [rsp + 0x70], reloc.OLEAUT32.dll_SafeArrayGetElement
cmp word [rsi], ax
jne 0x140020905
movzx eax, word [rsi + 2]
add rsi, 2
mov qword [rsp + 0x58], rsi
cmp ax, 0x20
je 0x1400208e6
cmp ax, 9
jne 0x140021090
jmp 0x1400208e6
test r10b, r10b
jne 0x140020ae6
test r9b, r9b
jne 0x140021099
test cl, cl
je 0x140020f15
lea rdx, [0x1400e5df4]
lea rcx, [rbp + 0x120]
call fcn.1400ab3f0
test eax, eax
jne 0x140020f0c
movzx ecx, word [rsi]
cmp cx, 0x28
je case.0x140020a84.34
cmp cx, word [0x1401033f4]
jne 0x140020968
movzx eax, word [rsi + 2]
cmp ax, 0x20
je case.0x140020a84.34
cmp ax, 9
je case.0x140020a84.34
movzx eax, word [0x1401033f8]
mov r8d, SafeArrayAllocDescriptor
mov word [rbp - 0x60], r8w
mov rbx, rsi
mov word [rbp - 0x5e], ax
mov dword [rbp - 0x5c], 0x90028
mov dword [rbp - 0x58], 0x3e003c
mov dword [rbp - 0x54], 0x3d003a
mov dword [rbp - 0x50], 0x2d002b
mov dword [rbp - 0x4c], 0x2f002a
mov dword [rbp - 0x48], 0x7e0021
mov dword [rbp - 0x44], 0x7c0026
mov dword [rbp - 0x40], 0x5b005e
mov dword [rbp - 0x3c], 0x3f002e
mov dword [rbp - 0x38], 0x7b
test cx, cx
je 0x1400209f6
movzx edx, word [rsi]
nop
lea rcx, [rbp - 0x60]
mov eax, r8d
cmp dx, ax
je 0x140020a40
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x1400209d7
movzx edx, word [rbx + 2]
add rbx, 2
test dx, dx
jne 0x1400209d0
or rax, 0xffffffffffffffff
nop word [rax + rax]
cmp word [rsi + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x140020a00
lea rbx, [rsi + rax*2]
mov r8d, 3
lea rdx, [0x1400e36e0]
mov rcx, rsi
call fcn.1400ad9d8
test eax, eax
jne 0x140020a55
movzx edx, word [rsi + 6]
lea rcx, [rbp - 0x60]
call fcn.1400a9968
test rax, rax
je 0x140020a55
mov dil, 1
jmp 0x140020a58
movzx eax, word [rbx]
cmp ax, r8w
je 0x140020a4f
cmp ax, 9
jne 0x140020a10
add rbx, 2
jmp 0x140020a40
xor dil, dil
movzx eax, word [rbx]
add eax, 0xffffffdf
cmp eax, 0x4d
ja case.0x140020a84.34
lea r9, [0x140000000]
cdqe
movzx eax, byte [r9 + rax + 0x22a08]
mov ecx, dword [r9 + rax*4 + 0x229e4]
add rcx, r9
jmp rcx
mov r10b, reloc.OLEAUT32.dll_SafeArrayGetUBound
jmp 0x140020ad7
movzx ecx, word [rbx + 2]
sub ecx, 0x3d
je 0x140020aaa
cmp ecx, 1
je 0x140020bad
mov r10b, reloc.OLEAUT32.dll_SafeArrayAccessData
mov dword [rsp + 0x40], r10d
jmp 0x140020e08
mov r10b, reloc.OLEAUT32.dll_SafeArrayUnaccessData
mov eax, SafeArrayAllocDescriptor
mov dword [rsp + 0x40], r10d
mov word [rbx + 2], ax
jmp 0x140020e08
cmp word [rbx + 2], 0x3d
jne 0x140020b95
mov r10b, reloc.OLEAUT32.dll_SafeArrayUnlock
mov eax, SafeArrayAllocDescriptor
mov word [rbx + 2], ax
movzx eax, word [0x1401033f8]
mov word [rbx], ax
mov dword [rsp + 0x40], r10d
mov edi, dword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rbp + 0x10d68]
xor r8d, r8d
movzx ecx, r10b
mov qword [rsp + 0x68], r8
sub ecx, 0x21
je 0x1400216b8
sub ecx, 0x4e
je 0x1400216b8
sub ecx, 1
je 0x1400216b0
sub ecx, 1
je 0x1400216b8
cmp ecx, 3
jne 0x1400216f6
lea edi, [rcx + 0x37]
lea r10d, [r8 + 0x29]
lea r11d, [r8 + 0x7d]
lea rbx, [0x140000000]
nop dword [rax]
nop word [rax + rax]
movsxd rax, r8d
movzx r9d, word [rsi + rax*2]
lea rdx, [rsi + rax*2]
cmp r9w, di
jne 0x140020b74
lea eax, [r8 + 1]
movsxd rcx, eax
cmp word [rsi + rcx*2], 0x3d
jne case.0x140020b93.0
movzx eax, r9w
cmp eax, 0x7d
ja case.0x140020b93.3
movzx eax, byte [rbx + rax + 0x22a78]
mov ecx, dword [rbx + rax*4 + 0x22a58]
add rcx, rbx
jmp rcx
mov r10b, reloc.OLEAUT32.dll_SafeArrayLock
mov dword [rsp + 0x40], r10d
jmp 0x140020e08
cmp word [rbx + 2], 0x3d
jne case.0x140020a84.34
mov r10b, reloc.OLEAUT32.dll_SafeArrayGetLBound
jmp 0x140020ace
test dil, dil
jne case.0x140020a84.34
mov r8d, 7
lea rdx, [0x1400d0688]
mov rcx, rbx
call fcn.1400ad9d8
test eax, eax
jne case.0x140020a84.34
mov r10b, reloc.OLEAUT32.dll_SafeArrayDestroy
mov dword [rbx], 0x200020
mov edx, SafeArrayAllocDescriptor
mov dword [rsp + 0x40], r10d
mov word [rbx + 0xc], dx
mov dword [rbx + 4], 0x200020
mov dword [rbx + 8], 0x200020
jmp 0x140020e08
test dil, dil
jne case.0x140020a84.34
mov r8d, 8
lea rdx, [0x1400d0638]
mov rcx, rbx
call fcn.1400ad9d8
test eax, eax
jne case.0x140020a84.34
mov r10b, reloc.WSOCK32.dll_inet_ntoa
mov dword [rbx], 0x200020
mov dword [rsp + 0x40], r10d
mov dword [rbx + 4], 0x200020
mov dword [rbx + 8], 0x200020
mov dword [rbx + 0xc], 0x200020
jmp 0x140020e08
movzx ecx, word [rbx + 2]
call fcn.14000ad90
movzx eax, ax
cmp eax, 0x4e
je 0x140020ce1
cmp eax, 0x53
je 0x140020c77
cmp eax, 0x6e
je 0x140020ce1
cmp eax, 0x73
jne case.0x140020a84.34
test dil, dil
jne case.0x140020a84.34
lea rdi, [rbx + 4]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140020c93
cmp ax, 9
jne 0x140020c99
add rdi, 2
jmp 0x140020c84
mov r8d, 3
lea rdx, [0x1400e6c88]
mov rcx, rdi
call fcn.1400ad9d8
mov edx, SafeArrayAllocDescriptor
test eax, eax
je 0x140020cbc
mov r10b, SafeArrayDestroy
jmp 0x140020cc9
mov r10b, SafeArrayGetDim
mov dword [rdi], 0x200020
mov word [rdi + 4], dx
mov dword [rsp + 0x40], r10d
mov word [rbx + 2], dx
cmp r10b, 0x11
jne 0x140020e08
jmp 0x140020ec4
test dil, dil
jne case.0x140020a84.34
mov r10b, 9
mov eax, SafeArrayAllocDescriptor
mov dword [rsp + 0x40], r10d
mov word [rbx + 2], ax
jmp 0x140020e08
mov r8d, 3
lea rdx, [0x1400e6c88]
mov rcx, rbx
call fcn.1400ad9d8
test eax, eax
jne case.0x140020a84.34
movzx eax, word [rbx + 6]
lea rdi, [rbx + 6]
cmp ax, 0x20
je 0x140020d35
cmp ax, 9
jne case.0x140020a84.34
mov eax, SafeArrayAllocDescriptor
mov dword [rbx], 0x200020
mov word [rbx + 4], ax
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140020d53
cmp ax, 9
jne 0x140020d59
add rdi, 2
jmp 0x140020d44
mov r8d, 2
lea rdx, [0x1400d0620]
mov rcx, rdi
call fcn.1400ad9d8
test eax, eax
jne 0x140020d85
mov r10b, 0xa
mov dword [rdi], 0x200020
mov dword [rsp + 0x40], r10d
jmp 0x140020e08
mov r8d, 7
lea rdx, [0x1400d0688]
mov rcx, rdi
call fcn.1400ad9d8
test eax, eax
jne 0x140020dc5
mov r10b, reloc.OLEAUT32.dll_SafeArrayGetDim
mov dword [rdi], 0x200020
mov edx, SafeArrayAllocDescriptor
mov dword [rsp + 0x40], r10d
mov word [rdi + 0xc], dx
mov dword [rdi + 4], 0x200020
mov dword [rdi + 8], 0x200020
jmp 0x140020e08
mov r8d, 8
lea rdx, [0x1400d0638]
mov rcx, rdi
call fcn.1400ad9d8
test eax, eax
jne 0x140020e03
mov r10b, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov dword [rdi], 0x200020
mov dword [rsp + 0x40], r10d
mov dword [rdi + 4], 0x200020
mov dword [rdi + 8], 0x200020
mov dword [rdi + 0xc], 0x200020
jmp 0x140020e08
mov r10d, dword [rsp + 0x40]
movzx eax, word [0x1401033f8]
mov word [rbx], ax
lea eax, [r10 - 0xf]
cmp al, 1
ja 0x140021090
lea rdx, [0x1400e5ee8]
mov rcx, rbx
call fcn.14008b980
mov rbx, rax
test rax, rax
je 0x140020e82
nop word [rax + rax]
movzx edx, word [rbx - 2]
lea rcx, [0x1400e3a50]
call fcn.1400a9968
test rax, rax
je 0x140020e6a
movzx edx, word [rbx + 6]
lea rcx, [0x1400e3a50]
call fcn.1400a9968
test rax, rax
jne 0x140020ea1
lea rcx, [rbx + 6]
lea rdx, [0x1400e5ee8]
call fcn.14008b980
mov rbx, rax
test rax, rax
jne 0x140020e40
mov r8, qword [rbp + 0x10d68]
lea rdx, [0x1400e6c90]
mov rcx, qword [rbp + 0x10d60]
call fcn.140039240
jmp 0x1400229d0
movzx eax, word [0x1401033f8]
mov r10d, dword [rsp + 0x40]
mov word [rbx], ax
mov dword [rbx + 2], 0x200020
jmp 0x140021090
mov r10b, reloc.OLEAUT32.dll_SafeArrayGetElemsize
mov dword [rsp + 0x40], r10d
or rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rsi + rax*2], 0
jne 0x140020ed0
lea rdx, [rax - 1]
cmp word [rsi + rdx*2], 0x7b
lea rdx, [rsi + rdx*2]
jne 0x140020ae6
xor eax, eax
mov rcx, rsi
mov word [rdx], ax
sub rdx, rsi
sar rdx, 1
call fcn.140017730
mov byte [rbp + 0x10d80], 1
jmp 0x140020ae6
mov r10d, dword [rsp + 0x40]
or r11, 0xffffffffffffffff
movzx r8d, word [rsi]
lea rdi, [rsi + 2]
movzx edx, word [rdi]
lea r9, [0x140000000]
lea eax, [r8 - 0x26]
cmp eax, 0x56
ja case.0x140020f4a.47
cdqe
movzx eax, byte [r9 + rax + 0x22b20]
mov ecx, dword [r9 + rax*4 + 0x22af8]
add rcx, r9
jmp rcx
movzx eax, word [0x1401033f8]
mov r10b, 1
mov word [rsi], ax
jmp 0x14002107f
cmp dx, 0x3d
mov r10d, 2
mov eax, 0
cmovne r10d, eax
jmp 0x140021112
cmp word [rbp + 0x120], 0x2b
jne 0x140020f91
cmp word [rbp + 0x122], 0
jne 0x140020f91
mov al, 1
mov r10b, 4
jmp 0x140020fc9
xor al, al
cmp dx, 0x3d
jne case.0x140020f4a.47
mov r10b, 4
jmp 0x140020fc9
cmp word [rbp + 0x120], 0x2d
jne 0x140020fba
cmp word [rbp + 0x122], 0
jne 0x140020fba
mov al, 1
jmp 0x140020fc6
xor al, al
cmp dx, 0x3d
jne case.0x140020f4a.47
mov r10b, 5
mov dword [rsp + 0x40], r10d
test al, al
je 0x14002111c
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140020fe5
cmp ax, 9
jne 0x140020feb
add rdi, 2
jmp 0x140020fd6
lea rdx, [0x1400e6cf0]
mov rcx, rdi
call fcn.14000adc0
test rax, rax
jne 0x14002107c
mov rbx, r11
cmp word [rdi + rbx*2 + 2], 0
lea rbx, [rbx + 1]
jne 0x140021002
mov rcx, qword [rbp + 0x10d68]
lea r8, [rbx*2 + 2]
mov rdx, rdi
call fcn.1400a9530
mov r10, qword [rbp + 0x10d68]
movzx eax, word [0x1401033f8]
mov word [r10 + rbx*2], ax
xor eax, eax
mov dword [r10 + rbx*2 + 2], gethostbyname
mov r10d, dword [rsp + 0x40]
jmp 0x140021084
movzx eax, r10b
cmp dx, 0x3d
cmovne ebx, eax
movzx r10d, bl
jmp 0x140021112
cmp dx, 0x3d
jne 0x14002106f
mov bl, 7
mov dword [rsp + 0x40], ebx
jmp 0x140021130
cmp dx, 0x2f
jne case.0x140020f4a.47
cmp word [rsi + 4], 0x3d
jne case.0x140020f4a.47
mov r10b, 3
mov dword [rsp + 0x40], r10d
mov rsi, qword [rbp + 0x10d68]
mov qword [rsp + 0x58], rsi
test r10b, r10b
jne 0x140020ae6
lea r9, [0x140000000]
cmp byte [rsp + 0x48], 0
mov ebx, dword [rsp + 0x50]
je 0x1400212fb
test bl, bl
jne 0x1400212fb
mov ebx, reloc.OLEAUT32.dll_SafeArrayGetElement
nop dword [rax]
movsxd rax, ebx
lea rcx, [rbp + 0x120]
lea rdx, [rax + rax*8]
mov rdx, qword [r9 + rdx*2 + 0x102310]
call fcn.1400ab3f0
test eax, eax
je 0x1400212a0
inc ebx
lea r9, [0x140000000]
cmp ebx, 0xe4
jl 0x1400210c0
mov byte [rsp + 0x40], 0
jmp 0x1400212b1
movzx eax, r10b
cmp dx, 0x3d
mov ecx, 3
cmovne ecx, eax
movzx r10d, cl
mov dword [rsp + 0x40], r10d
test r10b, r10b
je case.0x140020f4a.47
cmp r10b, 3
je 0x140021084
cmp r10b, 1
je 0x140021191
mov ebx, dword [rsp + 0x40]
movzx edx, word [0x1401033f8]
xor r9d, r9d
mov rcx, rsi
lea r8d, [r9 + 2]
call fcn.14008dee0
movsxd rcx, eax
cmp word [rsi + rcx*2], r9w
je 0x14002118c
lea eax, [rbx - 4]
cmp al, 1
ja 0x14002107c
inc rcx
lea rcx, [rsi + rcx*2]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x140021171
cmp ax, 9
jne 0x140021177
add rcx, 2
jmp 0x140021162
lea rdx, [0x1400e6cf0]
call fcn.14000adc0
test rax, rax
jne 0x14002107c
mov r10d, dword [rsp + 0x40]
cmp r10b, 3
je 0x140021084
movzx eax, word [0x1401033f8]
mov word [rsi], ax
cmp r10b, 1
je 0x140021084
mov eax, SafeArrayAllocDescriptor
mov word [rdi], ax
jmp 0x140021084
cmp dx, r8w
jmp 0x140021073
cmp dx, 0x3d
je 0x14002107c
mov rcx, rdi
call fcn.14003afe0
mov rbx, rax
cmp word [rax], 0x28
je 0x14002107c
cmp rbx, rdi
je 0x140021296
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x1400211ff
cmp ax, 9
jne 0x140021205
add rbx, 2
jmp 0x1400211f0
movzx edx, word [rbx]
cmp dx, 0x5b
je 0x14002107c
test dx, dx
je 0x14002107c
cmp word [rbx + 2], 0x3d
lea rdi, [rbx + 2]
jne 0x14002123b
lea rcx, [0x1400e6cd0]
call fcn.1400a9968
test rax, rax
jne 0x14002107c
movzx ecx, word [rbx]
cmp word [rdi], cx
jne 0x140021276
movzx edx, cx
lea rcx, [0x1400e6ce8]
call fcn.1400a9968
test rax, rax
je 0x140021262
cmp word [rbx + 4], 0x3d
je 0x14002107c
movzx ecx, word [rbx]
mov edx, 0xfffd
lea eax, [rcx - 0x2b]
test dx, ax
je 0x14002107c
cmp cx, 0x2e
jne 0x140021296
mov rcx, rdi
call fcn.14003afe0
mov rbx, rax
cmp word [rax], 0x28
jne 0x1400211e4
jmp 0x14002107c
mov r10d, dword [rsp + 0x40]
jmp 0x140021099
movzx r10d, bl
mov dword [rsp + 0x40], r10d
test bl, bl
jne 0x140020ae6
mov ebx, 1
lea rdi, [0x140000000]
mov dword [rsp + 0x50], ebx
movsxd rax, ebx
lea rcx, [rbp + 0x120]
lea rdx, [rax + rax*8]
mov rdx, qword [rdi + rdx*2 + 0x102210]
call fcn.1400ab3f0
test eax, eax
je 0x1400212f4
inc ebx
mov dword [rsp + 0x50], ebx
cmp ebx, 0xe
jl 0x1400212c1
xor dil, dil
mov dword [rsp + 0x50], edi
jmp 0x140021310
mov r10d, dword [rsp + 0x40]
jmp 0x140021304
test r10b, r10b
jne 0x140020ae6
mov edi, dword [rsp + 0x50]
test bl, bl
jne 0x140020aea
movzx eax, word [rsi]
cmp ax, 0x7b
jne 0x1400213ce
mov ebx, reloc.OLEAUT32.dll_SafeArrayGetElement
movsxd rax, ebx
lea rcx, [rbp + 0x120]
lea rdx, [rax + rax*8]
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*2 + 0x102310]
call fcn.1400ab3f0
test eax, eax
je 0x14002139b
inc ebx
cmp ebx, 0xe4
jl 0x140021322
movzx edx, word [rsi]
lea rcx, [0x1400e6cf0]
call fcn.1400a9968
test rax, rax
je 0x1400214e3
movzx ecx, word [rsi]
mov edx, 0xfffd
lea eax, [rcx - 0x2b]
test dx, ax
jne 0x14002149d
cmp word [rsi + 2], cx
jne 0x14002149d
cmp word [rsi + 4], 0
je 0x140021460
mov r10b, 3
jmp 0x14002147f
cmp bl, 0x21
je 0x1400213bc
cmp bl, 0x69
je 0x1400213ae
lea eax, [rbx - 0x6f]
cmp al, 2
jbe 0x1400213bc
jmp 0x140021352
cmp word [rsi + 2], 0
mov byte [rbp + 0x10d80], 1
jne 0x140021352
movzx r10d, bl
mov dword [rsp + 0x40], r10d
test bl, bl
je 0x140021352
jmp 0x140020aea
cmp ax, 0x3a
jne 0x140021352
lea rdx, [0x1400e4860]
lea rcx, [rbp + 0x120]
call fcn.1400ab3f0
test eax, eax
jne 0x140021352
mov rdi, qword [rbp + 0x10d60]
xor ebx, ebx
mov rcx, rdi
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
mov dl, reloc.WSOCK32.dll_WSACleanup
call fcn.140022f70
test eax, eax
je 0x1400206f4
lea rdx, [rsi + 2]
nop dword [rax]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14002142f
cmp ax, 9
jne 0x140021435
add rdx, 2
jmp 0x140021420
cmp word [rdx], bx
je 0x1400207c8
mov qword [rsp + 0x38], rbx
xor r9d, r9d
mov qword [rsp + 0x30], rbx
xor r8d, r8d
mov qword [rsp + 0x28], rbx
mov rcx, rdi
mov qword [rsp + 0x20], rbx
jmp 0x1400229cb
movzx eax, word [0x1401033f8]
cmp cx, 0x2b
mov word [rsi], ax
mov eax, gethostbyname
setne r10b
mov word [rsi + 2], ax
add r10b, 4
mov rbx, qword [rbp + 0x10d68]
mov qword [rsp + 0x58], rbx
mov rsi, rbx
mov dword [rsp + 0x40], r10d
test r10b, r10b
je 0x1400214ea
jmp 0x140020af6
cmp cx, 0x3f
je 0x1400214c7
mov edx, 0x3f
mov rcx, rsi
call fcn.1400a9968
test rax, rax
je 0x1400214e3
mov edx, 0x3a
mov rcx, rax
call fcn.1400a9968
test rax, rax
je 0x1400214e3
mov rbx, qword [rbp + 0x10d68]
mov r10b, 3
mov dword [rsp + 0x40], r10d
mov rsi, rbx
mov qword [rsp + 0x58], rbx
jmp 0x140020af6
mov rbx, qword [rbp + 0x10d68]
movzx eax, word [rsi]
cmp ax, 0x28
je 0x140021560
cmp ax, 0x5b
je 0x140021560
cmp word [rbx], 0x28
je 0x140021560
mov r8d, 3
lea rdx, [0x1400e6d28]
mov rcx, rbx
call fcn.1400ad9d8
test eax, eax
jne 0x140021528
movzx eax, word [rbx + 6]
cmp ax, 0x20
je 0x140021560
cmp ax, 9
je 0x140021560
lea rdx, [0x1400e5f2c]
mov rcx, rbx
call fcn.1400a99fc
test rax, rax
lea rcx, [0x1400e6d30]
lea rdx, [0x1400e6370]
mov r8, rbx
cmovne rdx, rcx
mov rcx, qword [rbp + 0x10d60]
call fcn.140039240
jmp 0x1400229d0
mov r10b, 3
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x40], r10d
mov rsi, rbx
jmp 0x140020af6
movzx eax, word [rdx + 2]
lea rdx, [rdx + 2]
inc r8d
test ax, ax
je case.0x140020b93.0
cmp ax, 0x22
jne case.0x140020b93.1
inc r8d
jmp 0x140020b50
inc r8d
mov edx, edi
xor r9d, r9d
mov rcx, rsi
call fcn.14008e030
movsxd r8, eax
mov rcx, r8
jmp 0x1400215db
movzx eax, r10w
jmp 0x1400215c7
mov eax, 0x5d
jmp 0x1400215c7
movzx eax, r11w
inc r8d
xor r9d, r9d
movzx edx, ax
mov rcx, rsi
call fcn.14008e030
movsxd r8, eax
cmp word [rsi + r8*2], 0
je case.0x140020b93.0
mov r11d, 0x7d
lea r10d, [r11 - 0x54]
inc r8d
jmp 0x140020b50
mov edi, dword [rsp + 0x50]
mov rbx, qword [rbp + 0x10d68]
movsxd rax, r8d
cmp word [rsi + rax*2], 0
lea rdx, [rsi + rax*2]
jne 0x140021629
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e6d50]
mov r8, rbx
call fcn.140039240
jmp 0x1400229d0
xor r8d, r8d
mov word [rdx], r8w
cmp word [rsi], r8w
je 0x140021685
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rsi + rax*2], r8w
jne 0x140021640
dec rax
lea rax, [rsi + rax*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x140021660
cmp cx, 9
jne 0x14002166b
cmp rax, rsi
je 0x140021672
sub rax, 2
jmp 0x140021651
mov word [rax + 2], r8w
jmp 0x140021685
movzx ecx, word [rax]
cmp cx, 0x20
je 0x140021681
cmp cx, 9
jne 0x140021685
mov word [rax], r8w
movzx eax, word [rdx + 2]
add rdx, 2
cmp ax, 0x20
je 0x140021685
cmp ax, 9
je 0x140021685
mov r10d, dword [rsp + 0x40]
mov qword [rsp + 0x68], rdx
cmp ax, r8w
jne 0x1400216f6
mov qword [rsp + 0x68], r8
jmp 0x1400216f6
cmp word [rsi], 0x7b
jne 0x1400216f6
jmp 0x1400216be
cmp word [rsi], 0x7b
jne 0x1400216de
mov byte [rbp + 0x10d80], 1
movzx eax, word [rsi + 2]
add rsi, 2
cmp ax, 0x20
je 0x1400216c5
cmp ax, 9
je 0x1400216c5
mov qword [rsp + 0x58], rsi
cmp word [rsi], r8w
je 0x1400216f6
mov qword [rsp + 0x68], rsi
sub rsi, 2
mov qword [rsp + 0x58], rsi
mov word [rsi], r8w
test r10b, r10b
je 0x14002171b
movzx eax, r10b
lea rcx, [rax + rax*8]
lea rax, [0x140000000]
lea rbx, [rax + 0x102310]
lea rbx, [rbx + rcx*2]
mov qword [rbp - 0x70], rbx
jmp 0x140021739
movzx eax, dil
lea rcx, [rax + rax*8]
lea rax, [0x140000000]
lea rax, [rax + rcx*2]
lea rax, [rax + 0x102210]
mov qword [rbp - 0x70], rax
xor edx, edx
lea rcx, [rbp + 0xd20]
mov r8d, 0x8002
call fcn.1400a9f50
mov rdx, qword [rbp + 0x10d90]
test rdx, rdx
je 0x1400217ed
mov ecx, dword [rbp + 0x10d98]
mov rax, rsi
sub rax, qword [rbp + 0x10d88]
sar rax, 1
sub ecx, eax
test ecx, ecx
jle 0x14002178e
movsxd r8, ecx
lea rcx, [rbp + 0xd20]
cdqe
add r8, r8
lea rdx, [rdx + rax*2]
call fcn.1400a9530
mov edx, dword [rsp + 0x40]
xor edi, edi
mov dword [rbp - 0x68], edi
cmp dl, 0x22
jne 0x140021e4e
mov ebx, 1
mov r11d, edi
mov dword [rsp + 0x4c], ebx
cmp word [rsi], di
je 0x140021f41
mov r10d, 0xffdf
nop dword [rax + rax]
cmp ebx, 1
lea edx, [r11 + 1]
cmovle edx, r11d
movsxd rax, edx
lea rcx, [rsi + rax*2]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x1400217e5
cmp ax, 9
jne 0x1400218e1
inc edx
add rcx, 2
jmp 0x1400217d2
xor eax, eax
mov edi, eax
mov ebx, eax
cmp word [rsi + rbx*2], 0
lea rax, [rsi + rbx*2]
mov r8d, reloc.WSOCK32.dll_inet_ntoa
lea edx, [r8 + 2]
je 0x140021825
movzx ecx, word [0x1401033f0]
nop
cmp word [rax], cx
je 0x140021825
inc rbx
inc edi
cmp word [rsi + rbx*2], 0
lea rax, [rsi + rbx*2]
jne 0x140021810
cmp word [rsi + rbx*2], 0
je 0x14002178e
movzx eax, word [rsi + rbx*2 + 2]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x140021851.99
lea r9, [0x140000000]
cdqe
mov ecx, dword [r9 + rax*4 + 0x22b78]
add rcx, r9
jmp rcx
mov eax, 7
mov word [rsi + rbx*2 + 2], ax
jmp case.0x140021851.99
mov eax, 8
mov word [rsi + rbx*2 + 2], ax
jmp case.0x140021851.99
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov word [rsi + rbx*2 + 2], ax
jmp case.0x140021851.99
mov eax, 0xa
mov word [rsi + rbx*2 + 2], ax
jmp case.0x140021851.99
mov word [rsi + rbx*2 + 2], dx
jmp case.0x140021851.99
mov eax, 9
mov word [rsi + rbx*2 + 2], ax
jmp case.0x140021851.99
mov word [rsi + rbx*2 + 2], r8w
movsxd rax, edi
or r8, 0xffffffffffffffff
lea rcx, [rsi + rax*2]
lea rdx, [rcx + 2]
nop dword [rax + rax]
cmp word [rdx + r8*2 + 2], 0
lea r8, [r8 + 1]
jne 0x1400218b0
lea r8, [r8*2 + 2]
call fcn.1400a9530
mov eax, 1
inc edi
mov word [rbp + rbx*2 + 0xd20], ax
inc rbx
jmp 0x1400217f3
cmp ax, word [0x1401033f4]
jne 0x140021939
movsxd rax, edx
cmp word [rbp + rax*2 + 0xd20], 0
jne 0x140021939
lea eax, [rdx + 1]
movsxd rcx, eax
movzx eax, word [rsi + rcx*2]
cmp ax, 0x20
je 0x14002190e
cmp ax, 9
jne 0x140021939
cmp ebx, 3
jge 0x140021f3d
lea r8d, [rdx + 2]
mov rcx, rsi
movzx edx, word [0x1401033f8]
lea r9, [rbp + 0xd20]
call fcn.14008dee0
mov r11d, eax
jmp 0x140021ad6
movsxd r9, edx
mov r11d, edx
mov dword [rsp + 0x44], edx
lea r8, [r9 + r9]
cmp word [r8 + rsi], 0
lea rcx, [r8 + rsi]
je 0x14002199a
mov r10, rcx
nop word [rax + rax]
movzx eax, word [0x1401033f8]
cmp word [r10], ax
jne 0x140021979
cmp word [rbp + r8 + 0xd20], 0
je 0x14002198f
inc r9
inc r11d
lea r8, [r9 + r9]
cmp word [r8 + rsi], 0
lea r10, [r8 + rsi]
jne 0x140021960
mov dword [rsp + 0x44], r11d
mov r10d, 0xffdf
cmp ebx, 1
jne 0x140021ad1
movsxd rax, r11d
cmp word [rsi + rax*2], 0
lea rax, [rsi + rax*2]
mov qword [rsp + 0x78], rax
je 0x140021f3d
mov word [rax], di
nop dword [rax]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x1400219cf
cmp ax, 9
jne 0x1400219d5
add rcx, 2
jmp 0x1400219c0
movzx eax, word [rcx]
test ax, ax
je 0x140021aa6
cmp ax, 0x2d
je 0x140021a9f
cmp ax, 0x2b
lea rbx, [rcx + 2]
cmovne rbx, rcx
cmp word [rbx], 0x30
jne 0x140021a1d
movzx eax, word [rbx + 2]
sub ax, 0x58
test r10w, ax
jne 0x140021a1d
movzx ecx, word [rbx + 4]
call fcn.1400af3d4
mov esi, 1
test eax, eax
jne 0x140021a1f
mov esi, edi
test esi, esi
lea rdi, [rbx + 4]
cmove rdi, rbx
xor ecx, ecx
movzx ebx, word [rdi]
cmp ebx, 0x20
je 0x140021a80
cmp ebx, 9
je 0x140021a80
test ebx, ebx
je 0x140021a9b
cmp ebx, 0x2e
je 0x140021a9f
test esi, esi
je 0x140021a62
movzx ecx, bx
call fcn.1400af8f4
xor ecx, ecx
test eax, eax
sete cl
test ecx, ecx
je 0x140021a6a
movzx ecx, bx
call fcn.14000ad90
jmp 0x140021a9f
lea eax, [rbx - 0x30]
cmp eax, 9
ja 0x140021a58
movzx ebx, word [rdi + 2]
add rdi, 2
mov ecx, 1
cmp ebx, 0x20
jne 0x140021a33
nop dword [rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140021a8f
cmp ax, 9
jne 0x140021a95
add rdi, 2
jmp 0x140021a80
cmp word [rdi], 0
jne 0x140021a9f
test ecx, ecx
jne 0x140021aa6
mov dword [rbp - 0x68], 1
cmp dword [rbp - 0x68], 0
mov rcx, qword [rsp + 0x78]
movzx eax, word [0x1401033f8]
mov rsi, qword [rsp + 0x58]
mov word [rcx], ax
jne 0x140021f3d
mov r11d, dword [rsp + 0x44]
xor edi, edi
mov ebx, dword [rsp + 0x4c]
jmp 0x140021ad6
cmp ebx, 4
je 0x140021af5
inc ebx
movsxd rax, r11d
mov dword [rsp + 0x4c], ebx
mov r10d, 0xffdf
cmp word [rsi + rax*2], 0
jne 0x1400217c0
jmp 0x140021f3d
movsxd rax, edx
lea r9, [rax + rax]
lea r8, [r9 + rsi]
mov qword [rbp - 0x80], r9
mov qword [rbp - 0x78], r8
mov rax, r8
nop dword [rax + rax]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x140021b1f
cmp cx, 9
jne 0x140021b25
add rax, 2
jmp 0x140021b10
movzx ecx, word [rax]
test cx, cx
je 0x140021f3d
cmp cx, 0x2d
je 0x140021c92
cmp cx, 0x2b
lea rdi, [rax + 2]
cmovne rdi, rax
cmp word [rdi], 0x30
jne 0x140021b6f
movzx eax, word [rdi + 2]
sub ax, 0x58
test r10w, ax
jne 0x140021b6f
movzx ecx, word [rdi + 4]
call fcn.1400af3d4
test eax, eax
je 0x140021b6f
mov eax, 1
jmp 0x140021b71
xor eax, eax
test eax, eax
lea rbx, [rdi + 4]
cmove rbx, rdi
xor ecx, ecx
xor edx, edx
mov dword [rsp + 0x4c], ecx
mov dword [rsp + 0x60], edx
movzx edi, word [rbx]
cmp edi, 0x20
je 0x140021c00
mov qword [rsp + 0x78], rax
cmp edi, 9
je 0x140021c00
test edi, edi
je 0x140021c71
cmp edi, 0x2e
jne 0x140021bc2
test ecx, ecx
jne 0x140021c85
test rax, rax
jne 0x140021c85
mov ecx, 1
mov dword [rsp + 0x4c], ecx
jmp 0x140021bec
test rax, rax
je 0x140021c15
movzx ecx, di
call fcn.1400af8f4
xor ecx, ecx
test eax, eax
sete cl
test ecx, ecx
jne 0x140021c1d
mov ecx, dword [rsp + 0x4c]
mov edx, 1
mov dword [rsp + 0x60], edx
mov rax, qword [rsp + 0x78]
movzx edi, word [rbx + 2]
add rbx, 2
cmp edi, 0x20
jne 0x140021b94
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140021c0f
cmp ax, 9
jne 0x140021c6b
add rbx, 2
jmp 0x140021c00
lea eax, [rdi - 0x30]
cmp eax, 9
jbe 0x140021bde
movzx ecx, di
call fcn.14000ad90
cmp ax, 0x45
jne 0x140021c85
cmp dword [rsp + 0x4c], 0
je 0x140021c85
mov edx, dword [rsp + 0x60]
test edx, edx
je 0x140021c85
movzx eax, word [rbx + 2]
lea rcx, [rbx + 2]
sub ax, 0x2b
mov r8d, 0xfffd
test r8w, ax
cmove rbx, rcx
movzx eax, word [rbx + 2]
sub ax, 0x30
cmp ax, 9
ja 0x140021c85
mov ecx, dword [rsp + 0x4c]
jmp 0x140021be7
cmp word [rbx], 0
jne 0x140021c85
test edx, edx
je 0x140021c85
xor eax, eax
test ecx, ecx
setne al
add eax, 1
jne 0x140021f3d
mov r9, qword [rbp - 0x80]
mov r8, qword [rbp - 0x78]
mov r11d, dword [rsp + 0x44]
movsxd rax, r11d
cmp word [rsi + rax*2], 0
jne 0x140021e42
movzx edx, word [0x1401033f4]
cmp word [r8], dx
jne 0x140021e42
cmp word [rbp + r9 + 0xd20], 0
jne 0x140021e42
lea rcx, [r8 + 2]
call fcn.1400a9968
test rax, rax
je 0x140021e42
movzx ecx, word [rax + 2]
add rax, 2
cmp cx, 0x20
je 0x140021cd3
cmp cx, 9
je 0x140021cd3
test cx, cx
je 0x140021f3d
cmp cx, 0x2d
je 0x140021e42
cmp cx, 0x2b
lea rdi, [rax + 2]
cmovne rdi, rax
cmp word [rdi], 0x30
jne 0x140021d32
movzx eax, word [rdi + 2]
mov ecx, 0xffdf
sub ax, 0x58
test cx, ax
jne 0x140021d32
movzx ecx, word [rdi + 4]
call fcn.1400af3d4
test eax, eax
je 0x140021d32
mov eax, 1
jmp 0x140021d34
xor eax, eax
test eax, eax
lea rbx, [rdi + 4]
cmove rbx, rdi
xor ecx, ecx
xor edx, edx
mov dword [rsp + 0x44], ecx
mov dword [rsp + 0x4c], edx
movzx edi, word [rbx]
cmp edi, 0x20
je 0x140021dc0
mov qword [rsp + 0x78], rax
cmp edi, 9
je 0x140021dc0
test edi, edi
je 0x140021e2e
cmp edi, 0x2e
jne 0x140021d85
test ecx, ecx
jne 0x140021e42
test rax, rax
jne 0x140021e42
mov ecx, 1
mov dword [rsp + 0x44], ecx
jmp 0x140021daf
test rax, rax
je 0x140021dd5
movzx ecx, di
call fcn.1400af8f4
xor ecx, ecx
test eax, eax
sete cl
test ecx, ecx
jne 0x140021ddd
mov ecx, dword [rsp + 0x44]
mov edx, 1
mov dword [rsp + 0x4c], edx
mov rax, qword [rsp + 0x78]
movzx edi, word [rbx + 2]
add rbx, 2
cmp edi, 0x20
jne 0x140021d57
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140021dcf
cmp ax, 9
jne 0x140021e28
add rbx, 2
jmp 0x140021dc0
lea eax, [rdi - 0x30]
cmp eax, 9
jbe 0x140021da1
movzx ecx, di
call fcn.14000ad90
cmp ax, 0x45
jne 0x140021e42
cmp dword [rsp + 0x44], 0
je 0x140021e42
mov edx, dword [rsp + 0x4c]
test edx, edx
je 0x140021e42
movzx eax, word [rbx + 2]
lea rcx, [rbx + 2]
sub ax, 0x2b
mov r8d, 0xfffd
test r8w, ax
cmove rbx, rcx
movzx eax, word [rbx + 2]
sub ax, 0x30
cmp ax, 9
ja 0x140021e42
mov ecx, dword [rsp + 0x44]
jmp 0x140021daa
cmp word [rbx], 0
jne 0x140021e42
test edx, edx
je 0x140021e42
xor eax, eax
test ecx, ecx
setne al
add eax, 1
jne 0x140021f3d
mov dword [rbp - 0x68], 3
jmp 0x140021f3d
cmp dl, 0x6a
jne 0x140021f41
mov rbx, rsi
cmp word [rsi], di
je 0x140021ea4
nop
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140021e6f
cmp ax, 9
jne 0x140021e9b
movzx ecx, word [rbx + 2]
call fcn.1400af844
cmp eax, 0x69
jne 0x140021e9b
movzx ecx, word [rbx + 4]
call fcn.1400af844
cmp eax, 0x6e
jne 0x140021e9b
movzx eax, word [rbx + 6]
cmp ax, 0x20
je 0x140021ea4
cmp ax, 9
je 0x140021ea4
add rbx, 2
cmp word [rbx], di
jne 0x140021e60
cmp word [rbx], di
jne 0x140021ec8
mov r8, qword [rbp + 0x10d68]
lea rdx, [0x1400e6d70]
mov rcx, qword [rbp + 0x10d60]
call fcn.140039240
jmp 0x1400229d0
mov rax, rbx
mov edx, 1
sub rax, rsi
sar rax, 1
movsxd rcx, eax
test eax, eax
jle 0x140021ef7
nop dword [rax]
movzx eax, word [0x1401033f8]
cmp word [rsi + rcx*2], ax
jne 0x140021eef
inc edx
dec rcx
test rcx, rcx
jg 0x140021ee0
movzx eax, word [0x1401033f8]
mov word [rbx + 2], ax
cmp edx, 1
jle 0x140021f32
cmp edx, 2
jle 0x140021f2b
mov r8, qword [rbp + 0x10d68]
lea rdx, [0x1400e6db0]
mov rcx, qword [rbp + 0x10d60]
call fcn.140039240
jmp 0x1400229d0
mov eax, SafeArrayAllocDescriptor
jmp 0x140021f39
movzx eax, word [0x1401033f8]
mov word [rbx + 4], ax
mov edx, dword [rsp + 0x40]
mov eax, dword [rbp - 0x68]
xor r8b, r8b
xor bl, bl
mov dword [rsp + 0x60], r8d
xor ecx, ecx
mov dword [rsp + 0x44], ebx
mov qword [rbp - 0x78], rcx
test eax, eax
jne 0x140021f64
mov rax, qword [rbp - 0x70]
movsx eax, byte [rax + 9]
mov edi, ecx
mov r10d, ecx
mov dword [rsp + 0x4c], ecx
cmp word [rsi], cx
je 0x14002230e
movsxd rcx, eax
dec eax
cdqe
xor r11d, r11d
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], r11
mov qword [rbp - 0x30], rcx
nop dword [rax]
cmp r11, rcx
jge 0x140022309
cmp r10d, 2
jne 0x140022081
lea eax, [rdx - 0x18]
cmp al, 3
ja 0x140022079
mov rcx, qword [rbp + 0x10d60]
lea rdx, [rbp + 0x320]
movsxd rax, edi
xor r9d, r9d
lea r8, [rsi + rax*2]
call fcn.140022c10
mov qword [rbp - 0x78], rax
test rax, rax
je 0x140022079
mov eax, reloc.OLEAUT32.dll_SafeArrayGetElement
mov dword [rsp + 0x60], eax
movsxd rcx, eax
lea rax, [0x140000000]
lea rdx, [rcx + rcx*8]
mov rdx, qword [rax + rdx*2 + 0x102310]
lea rcx, [rbp + 0x320]
call fcn.1400ab3f0
test eax, eax
je 0x140022022
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
cmp eax, 0xe4
jl 0x140021fe1
xor r8b, r8b
mov dword [rsp + 0x60], r8d
jmp 0x140022030
mov r8d, dword [rsp + 0x60]
test r8b, r8b
jne 0x1400222e2
mov ebx, 1
mov dword [rsp + 0x44], ebx
nop dword [rax]
movsxd rax, ebx
lea rcx, [rbp + 0x320]
lea rdx, [rax + rax*8]
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*2 + 0x102210]
call fcn.1400ab3f0
test eax, eax
je 0x140022079
inc ebx
mov dword [rsp + 0x44], ebx
cmp ebx, 0xe
jl 0x140022040
xor al, al
mov dword [rsp + 0x44], eax
jmp 0x140022081
test bl, bl
jne 0x1400222dd
mov rax, qword [rbp - 0x80]
lea rcx, [rbp + 0xd20]
mov r8, qword [rsp + 0x58]
movsxd rsi, edi
lea rbx, [rsi + rsi]
add rcx, rbx
lea r9, [rbx + r8]
mov qword [rbp - 0x68], r9
mov qword [rbp + rax*8 - 0x20], r9
mov qword [rbp + rax*8 + 0x80], rcx
cmp rax, qword [rsp + 0x78]
je 0x1400222f5
movzx eax, word [0x1401033f4]
cmp word [r9], ax
jne 0x1400220e7
cmp word [rcx], 0
jne 0x1400220e7
movzx eax, word [r9 + 2]
cmp ax, 9
je 0x140022232
cmp ax, 0x20
je 0x140022232
mov rax, qword [rbp - 0x70]
mov r10d, dword [rsp + 0x4c]
lea rcx, [rax + 0xb]
movzx eax, byte [rax + 0xb]
lea edx, [r10 + 1]
test al, al
je 0x140022116
movzx eax, al
cmp eax, edx
je 0x140022205
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x140022100
mov eax, dword [rsp + 0x40]
cmp al, 0x74
je 0x140022232
cmp al, 0x2b
jne 0x140022158
lea eax, [r10 - 2]
cmp eax, 1
ja 0x140022158
mov rcx, qword [rbp - 0x18]
call fcn.140018990
cmp eax, 5
ja 0x140022232
mov ecx, 0x2b
bt ecx, eax
jae 0x140022232
mov r8, qword [rsp + 0x58]
mov r9, qword [rbp - 0x68]
movzx eax, word [r9]
test ax, ax
je 0x140022188
cmp ax, word [0x1401033f8]
jne 0x140022175
cmp word [rbp + rbx + 0xd20], 0
je 0x140022188
inc rsi
inc edi
lea rbx, [rsi + rsi]
movzx eax, word [rbx + r8]
test ax, ax
jne 0x140022161
mov rsi, qword [rsp + 0x58]
mov r11, qword [rbp - 0x80]
movsxd rax, edi
cmp word [rsi + rax*2], 0
je 0x1400222ae
mov r8, qword [rbp + r11*8 - 0x20]
xor r10d, r10d
mov rdx, qword [rbp + r11*8 + 0x80]
mov word [rsi + rax*2], r10w
cmp word [r8], r10w
je 0x14002226f
or rax, 0xffffffffffffffff
inc rax
cmp word [r8 + rax*2], r10w
jne 0x1400221c2
dec rax
mov r9, r8
sub r9, rdx
lea rcx, [rdx + rax*2]
nop dword [rax]
movzx edx, word [r9 + rcx]
cmp dx, 0x20
je 0x1400221f1
cmp dx, 9
jne 0x140022269
cmp word [rcx], r10w
jne 0x140022269
test rax, rax
je 0x140022257
dec rax
sub rcx, 2
jmp 0x1400221e0
cmp byte [rcx], 0
je 0x140022116
cmp byte [rsp + 0x40], 0x86
jne 0x140022232
cmp r10d, 1
jle 0x140022232
lea rdx, [0x1400e6ee8]
mov rcx, r9
call fcn.1400ab3f0
test eax, eax
je 0x14002214f
mov rsi, qword [rsp + 0x58]
lea r9, [rbp + 0xd20]
movzx edx, word [0x1401033f8]
mov rcx, rsi
mov r8d, edi
call fcn.14008dee0
mov edi, eax
jmp 0x14002218d
cmp dx, 0x20
je 0x140022263
cmp dx, 9
jne 0x14002226f
mov word [r8], r10w
jmp 0x14002226f
mov word [r8 + rax*2 + 2], r10w
inc edi
lea rcx, [rbp + 0xd20]
movsxd rax, edi
mov rdx, rsi
lea rcx, [rcx + rax*2]
lea rax, [rbp + 0xd20]
sub rdx, rax
nop dword [rax]
movzx eax, word [rdx + rcx]
cmp ax, 0x20
je 0x1400222a0
cmp ax, 9
jne 0x1400222ae
cmp word [rcx], r10w
jne 0x1400222ae
inc edi
add rcx, 2
jmp 0x140022290
mov r10d, dword [rsp + 0x4c]
inc r11
mov ebx, dword [rsp + 0x44]
inc r10d
movsxd rax, edi
mov dword [rsp + 0x4c], r10d
mov qword [rbp - 0x80], r11
cmp word [rsi + rax*2], 0
je 0x140022309
mov rcx, qword [rbp - 0x30]
mov edx, dword [rsp + 0x40]
jmp 0x140021f90
mov r8d, dword [rsp + 0x60]
mov r10d, dword [rsp + 0x4c]
movsxd rax, edi
lea rax, [rsi + rax*2]
mov qword [rsp + 0x68], rax
jmp 0x14002230e
mov r10d, dword [rsp + 0x4c]
mov rsi, r8
mov ebx, dword [rsp + 0x44]
inc r10d
mov dword [rsp + 0x4c], r10d
mov r8d, dword [rsp + 0x60]
mov r11, qword [rbp - 0x70]
movsx edx, byte [r11 + 8]
mov ecx, edx
cmp r10d, edx
jge 0x140022376
mov r9, qword [r11]
lea r8, reloc.WSOCK32.dll_WSAStartup
cmp dl, 1
lea rax, [0x1400cffcc]
lea rcx, [rbp + 0x520]
cmovg rax, r8
lea r8, [0x1400e6e30]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edx
mov edx, 0x400
call fcn.14008b520
mov r8, qword [rbp + 0x10d68]
lea rdx, [rbp + 0x520]
mov rcx, qword [rbp + 0x10d60]
call fcn.140039240
jmp 0x1400229d0
xor edi, edi
cmp byte [rsp + 0x40], 0x74
mov edx, edi
cmove ecx, r10d
movsxd r9, ecx
mov ecx, edi
test r9, r9
jle 0x1400223a4
nop dword [rax]
mov rax, qword [rbp + rcx*8 - 0x20]
cmp word [rax], di
je 0x1400223d4
inc edx
inc rcx
cmp rcx, r9
jl 0x140022390
mov edx, dword [rsp + 0x50]
test dl, dl
je case.default.0x1400223d2
movzx eax, dl
dec eax
cmp eax, 0xc
ja case.default.0x1400223d2
lea r9, [0x140000000]
cdqe
mov ecx, dword [r9 + rax*4 + 0x22bd0]
add rcx, r9
jmp rcx
mov r9, qword [r11]
lea eax, [rdx + 1]
mov edx, 0x400
mov dword [rsp + 0x20], eax
lea r8, [0x1400e6e80]
lea rcx, [rbp + 0x520]
call fcn.14008b520
jmp 0x140022357
mov rcx, qword [rbp + 0x10d60]
lea rbx, [0x1400e6ee0]
movsxd rax, r10d
lea r9d, [r10 + 1]
lea r8, [rbp - 0x20]
mov dl, 0x8b
mov qword [rbp + rax*8 - 0x20], rbx
mov qword [rbp + rax*8 + 0x80], rdi
lea rax, [rbp + 0x80]
mov qword [rsp + 0x20], rax
call fcn.140022f70
jmp 0x1400229d0
mov rdi, qword [rbp - 0x18]
lea rax, [rbp + 0x80]
mov rcx, qword [rbp + 0x10d60]
lea rbx, [0x1400e6ee0]
xor esi, esi
mov qword [rbp - 0x18], rbx
lea r8, [rbp - 0x20]
mov qword [rbp + 0x88], rsi
mov dl, 0x8b
mov qword [rsp + 0x20], rax
lea r9d, [rsi + 2]
call fcn.140022f70
test eax, eax
je 0x1400206f4
mov rax, qword [rbp - 8]
lea r9d, [rsi + 5]
mov rcx, qword [rbp + 0x10d60]
lea r8, [rbp - 0x20]
mov qword [rbp - 0x20], rax
mov dl, 0x8e
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x80], rax
mov rax, qword [rbp - 0x10]
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x98], rax
mov rax, qword [rbp]
mov qword [rbp - 0x18], rax
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x88], rax
lea rax, [rbp + 0x80]
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x10], rdi
mov qword [rbp + 0x90], rsi
mov qword [rbp], rbx
mov qword [rbp + 0xa0], rsi
call fcn.140022f70
jmp 0x1400229d0
mov rcx, qword [rbp + 0x10d60]
lea rax, [rbp + 0x80]
mov r9d, r10d
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x20]
mov dl, 1
call fcn.140022f70
jmp 0x1400229d0
mov rcx, qword [rbp + 0x10d60]
lea rax, [rbp + 0x80]
mov r9d, r10d
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x20]
mov dl, 4
call fcn.140022f70
jmp 0x1400229d0
mov rcx, qword [rbp + 0x10d60]
lea rax, [rbp + 0x80]
mov r9d, r10d
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x20]
mov dl, 5
call fcn.140022f70
jmp 0x1400229d0
mov rcx, qword [rbp + 0x10d60]
lea rax, [rbp + 0x80]
mov r9d, r10d
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x20]
mov dl, 6
call fcn.140022f70
jmp 0x1400229d0
mov rcx, qword [rbp + 0x10d60]
lea rax, [rbp + 0x80]
mov r9d, r10d
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x20]
mov dl, 7
call fcn.140022f70
jmp 0x1400229d0
mov cl, reloc.OLEAUT32.dll_SafeArrayGetUBound
mov dword [rsp + 0x40], ecx
jmp 0x1400225ec
mov cl, reloc.OLEAUT32.dll_SafeArrayGetLBound
mov dword [rsp + 0x40], ecx
jmp 0x1400225ec
mov cl, reloc.OLEAUT32.dll_SafeArrayLock
mov dword [rsp + 0x40], ecx
jmp 0x1400225ec
mov cl, reloc.OLEAUT32.dll_SafeArrayUnlock
mov dword [rsp + 0x40], ecx
jmp 0x1400225ec
mov cl, reloc.OLEAUT32.dll_SafeArrayAccessData
mov dword [rsp + 0x40], ecx
jmp 0x1400225ec
mov cl, reloc.OLEAUT32.dll_SafeArrayUnaccessData
mov dword [rsp + 0x40], ecx
jmp 0x1400225ec
mov ecx, dword [rsp + 0x40]
test r10d, r10d
je 0x1400227e9
test r8b, r8b
jne 0x1400227e9
test bl, bl
jne 0x1400227e9
lea eax, [rcx - 0x12]
cmp al, 0xe
ja 0x1400227e9
cmp cl, 0x17
ja 0x140022622
sub dl, 6
cmp dl, 5
ja 0x1400227e9
lea eax, [r10 - 1]
movsxd rcx, eax
mov rdi, qword [rbp + rcx*8 - 0x20]
mov rcx, rdi
sub rcx, rsi
sar rcx, 1
movsxd r8, ecx
lea rdx, [r8 + r8]
movzx eax, word [rdx + rsi]
test ax, ax
je 0x1400227e7
nop dword [rax + rax]
cmp ax, word [0x1401033f8]
jne 0x140022664
cmp word [rbp + rdx + 0xd20], 0
je 0x14002267b
inc r8
inc ecx
lea rdx, [r8 + r8]
movzx eax, word [rdx + rsi]
test ax, ax
jne 0x140022650
jmp 0x1400227e7
movsxd rax, ecx
inc ecx
lea rax, [rsi + rax*2]
mov qword [rbp - 0x30], rax
movsxd rax, ecx
lea rdx, [rsi + rax*2]
nop
movzx r8d, word [rdx]
cmp r8w, 0x20
je 0x1400226a8
movsxd rax, ecx
add rax, rax
cmp r8w, 9
jne 0x1400226b0
inc ecx
add rdx, 2
jmp 0x140022690
mov rcx, qword [rbp + 0x10d60]
lea rdx, [rbp + 0x320]
add rax, rsi
xor r9d, r9d
mov r8, rax
mov qword [rsp + 0x68], rax
call fcn.140022c10
mov qword [rbp - 0x78], rax
test rax, rax
je 0x14002275f
mov eax, reloc.OLEAUT32.dll_SafeArrayGetElement
cdqe
lea rcx, [rbp + 0x320]
lea rdx, [rax + rax*8]
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*2 + 0x102310]
call fcn.1400ab3f0
test eax, eax
mov eax, dword [rsp + 0x70]
je 0x140022720
inc eax
mov dword [rsp + 0x70], eax
cmp eax, 0xe4
jl 0x1400226e3
mov byte [rsp + 0x60], 0
jmp 0x140022728
mov byte [rsp + 0x60], al
test al, al
jne 0x14002277c
mov ebx, 1
nop dword [rax]
movsxd rax, ebx
lea rcx, [rbp + 0x320]
lea rdx, [rax + rax*8]
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*2 + 0x102210]
call fcn.1400ab3f0
test eax, eax
je 0x14002276f
inc ebx
cmp ebx, 0xe
jl 0x140022730
xor bl, bl
mov r10d, dword [rsp + 0x4c]
xor edi, edi
mov eax, edi
mov qword [rsp + 0x68], rax
jmp 0x1400227e9
movzx eax, bl
test bl, bl
mov dword [rsp + 0x44], eax
mov ebx, eax
je 0x14002275f
mov rax, qword [rbp - 0x30]
xor ecx, ecx
mov word [rax], cx
cmp word [rdi], cx
je 0x1400227e2
or rax, 0xffffffffffffffff
nop
inc rax
cmp word [rdi + rax*2], cx
jne 0x140022790
dec rax
lea rax, [rdi + rax*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x1400227af
cmp cx, 9
jne 0x1400227ba
cmp rax, rdi
je 0x1400227c7
sub rax, 2
jmp 0x1400227a0
mov r10d, dword [rsp + 0x4c]
xor edi, edi
mov word [rax + 2], di
jmp 0x1400227e9
movzx ecx, word [rax]
cmp cx, 0x20
je 0x1400227d6
cmp cx, 9
jne 0x1400227e2
mov r10d, dword [rsp + 0x4c]
xor edi, edi
mov word [rax], di
jmp 0x1400227e9
mov r10d, dword [rsp + 0x4c]
xor edi, edi
mov r11d, dword [rsp + 0x40]
lea eax, [r11 - 0x69]
test al, 0xfd
jne 0x140022806
cmp r10d, 1
jne 0x140022806
mov rax, qword [rbp - 0x20]
cmp word [rax], 0
jne 0x140022829
lea eax, [r11 - 0x6a]
cmp al, 9
ja 0x1400228ef
mov ecx, 0x241
bt ecx, eax
jae 0x1400228ef
test r10d, r10d
je 0x1400228ef
lea eax, [r10 - 1]
movsxd rcx, eax
or rax, 0xffffffffffffffff
mov rdx, qword [rbp + rcx*8 - 0x20]
nop dword [rax]
cmp word [rdx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x140022840
cmp word [rdx + rax*2 - 2], 0x7b
jne 0x1400228ef
mov word [rdx + rax*2 - 2], di
cmp word [rdx], 0
mov byte [rbp + 0x10d80], 1
je 0x1400228c1
or rax, 0xffffffffffffffff
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x140022870
lea rcx, [rax - 1]
lea rcx, [rdx + rcx*2]
movzx r8d, word [rcx]
cmp r8w, 0x20
je 0x140022894
cmp r8w, 9
jne 0x1400228a2
cmp rcx, rdx
je 0x1400228a8
sub rcx, 2
dec rax
jmp 0x140022882
mov word [rcx + 2], di
jmp 0x1400228b7
movzx edx, word [rcx]
cmp dx, 0x20
je 0x1400228be
cmp dx, 9
je 0x1400228be
test rax, rax
jne 0x1400228ef
jmp 0x1400228c1
mov word [rcx], di
cmp r11b, 0x69
je 0x1400228ec
cmp r11b, 0x70
je 0x1400228ec
mov r8, qword [rbp + 0x10d68]
lea rdx, [0x1400e6968]
mov rcx, qword [rbp + 0x10d60]
call fcn.140039240
jmp 0x1400229d0
mov r10d, edi
mov rcx, qword [rbp + 0x10d60]
lea rax, [rbp + 0x80]
mov r9d, r10d
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x20]
movzx edx, r11b
call fcn.140022f70
test eax, eax
je 0x1400206f4
cmp byte [rbp + 0x10d80], 0
je 0x140022944
mov rcx, qword [rbp + 0x10d60]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rdi
mov dl, 0x75
call fcn.140022f70
test eax, eax
je 0x1400206f4
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x1400207c8
mov rcx, qword [rbp - 0x78]
test rcx, rcx
jne 0x140022977
mov qword [rsp + 0x38], rdi
xor r9d, r9d
mov qword [rsp + 0x30], rdi
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
jmp 0x1400229c4
or r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rcx + r8*2], 0
jne 0x140022980
mov qword [rsp + 0x38], r8
lea r10, [rbp + 0xd20]
movzx r8d, byte [rsp + 0x60]
mov rax, rcx
sub rax, rsi
movzx r9d, bl
sar rax, 1
lea rax, [r10 + rax*2]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x320]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp + 0x10d60]
call fcn.140020000
mov rbx, qword [rsp + 0x10e70]
add rsp, 0x10e40
pop rdi
pop rsi
pop rbp
ret