Function at 0x1400200c0
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.1400bfa50
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 0x14002014e
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 0x140020120
mov rax, qword [rbp + 0x10d88]
test rax, rax
jne 0x1400208f5
mov qword [rsp + 0x58], rsi
xor cl, cl
jmp 0x140020983
cmp r10b, 3
jne 0x14002016e
mov word [rbp + 0x120], di
xor cl, cl
mov qword [rbp + 0x10d88], rdi
mov qword [rsp + 0x58], rsi
jmp 0x140020983
mov r8, rbx
lea rdx, [0x1400e5ae8]
mov rcx, rsi
call fcn.1400aba40
test eax, eax
mov rax, qword [0x140100a58]
jne 0x1400201a1
cmp qword [rax + 0xd8], rdi
mov esi, 0xc1
mov ecx, 0x41
cmovne esi, ecx
jmp 0x1400201ee
cmp qword [rax + 0xd8], rdi
je 0x1400208cc
mov r8d, 5
lea rdx, [0x1400e5af8]
mov rcx, rsi
call fcn.1400aba40
test eax, eax
jne 0x1400201cf
lea esi, [rax + 0x42]
lea eax, [rsi - 0x38]
jmp 0x1400201f3
mov r8, rbx
lea rdx, [0x1400cf6c0]
mov rcx, rsi
call fcn.1400aba40
test eax, eax
jne 0x1400208cc
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 0x140020856
cmp ax, 0x20
je 0x140020220
cmp ax, 9
jne 0x1400208c0
nop
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14002022f
cmp ax, 9
jne 0x140020235
add rbx, 2
jmp 0x140020220
cmp word [rbx], di
je 0x140020856
movzx edi, word [rbx + 2]
xor eax, eax
xor edx, edx
mov word [rbx + 2], ax
mov rcx, rbx
call fcn.14008fe20
mov word [rbx + 2], di
test eax, eax
je 0x1400208be
mov r9, qword [rbp + 0x10d60]
cmp byte [r9 + 0x7c], 0
je 0x1400202bc
mov rax, qword [0x140100a58]
mov rcx, qword [rax + 0xd8]
cmp byte [rcx + 0x5c], 0
jne 0x1400202bc
cmp esi, 0x62
je 0x140020290
cmp esi, 0x42
setne al
add al, 0x41
mov byte [rcx + 0x5c], al
mov rax, qword [r9 + 8]
test rax, rax
je 0x140020317
movzx ecx, byte [rax]
lea eax, [rcx - 9]
cmp al, 0x18
jbe 0x1400202b5
sub cl, 0x69
cmp cl, 8
ja 0x140020317
mov eax, 0x1c7
bt eax, ecx
jae 0x140020317
mov byte [rsp + 0x48], 1
jmp 0x14002031c
mov rax, qword [0x140100a58]
mov rcx, qword [rax + 0xd8]
test rcx, rcx
je 0x140020290
movzx eax, byte [rcx + 0x5c]
cmp esi, eax
jne 0x140020290
cmp esi, 0x41
jne 0x1400202f7
mov r8, qword [rbp + 0x10d68]
lea rdx, [0x1400e5b10]
mov rcx, r9
call fcn.1400395f0
jmp 0x140022a90
cmp esi, 0x42
jne 0x140020290
mov r8, qword [rbp + 0x10d68]
lea rdx, [0x1400e5b80]
mov rcx, r9
call fcn.1400395f0
jmp 0x140022a90
mov byte [rsp + 0x48], 0
cmp word [rbx], 0
mov byte [rbp + 0x10d80], 0
je 0x140020888
lea rdx, [0x1400e5bf0]
mov rcx, rbx
or r11, 0xffffffffffffffff
call fcn.14000aeb0
mov rdi, rax
test rax, rax
jne 0x140020360
mov rax, r11
nop dword [rax + rax]
cmp word [rbx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x140020350
lea rdi, [rbx + rax*2]
mov rcx, qword [0x140100a58]
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 0x1400204c8
xor edx, edx
mov esi, edx
cmp dword [rax + 0x20], edx
jle 0x1400203f2
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.14008bab0
test eax, eax
je 0x1400207bb
mov rdx, qword [rbp - 0x70]
inc esi
mov rcx, qword [0x140100a58]
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 0x1400203a0
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.140028d60
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140020443
movzx ecx, byte [rax + 0x22]
mov eax, dword [rsp + 0x44]
xor ecx, eax
test ecx, 0xffffffbf
jne 0x1400207d6
cmp eax, 0x62
je 0x1400207d6
mov qword [rsp + 0x68], rsi
jmp 0x140020447
mov eax, dword [rsp + 0x44]
cmp eax, 0x41
je 0x1400204b5
mov rax, qword [0x140100a58]
mov dword [rsp + 0x70], esi
mov rcx, qword [rax + 0xd8]
cmp dword [rcx + 0x54], esi
jle 0x1400204b5
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.14008bab0
test eax, eax
mov rax, qword [0x140100a58]
mov rcx, qword [rax + 0xd8]
je 0x14002055b
mov edx, dword [rsp + 0x70]
inc rsi
inc edx
mov dword [rsp + 0x70], edx
cmp edx, dword [rcx + 0x54]
jl 0x140020470
mov rcx, qword [rsp + 0x68]
test rcx, rcx
jne 0x1400207db
mov r8, qword [rsp + 0x58]
mov r9d, dword [rsp + 0x44]
mov rdx, rbx
mov rcx, qword [rbp + 0x10d60]
call fcn.140028cd0
mov rsi, rax
test rax, rax
je 0x1400207b4
movzx eax, byte [rax + 0x23]
test al, al
jne 0x1400204f8
mov rax, qword [rsi + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 1
jne 0x14002083b
mov r8, qword [rsp + 0x58]
lea rdx, [0x1400e4e58]
or r9, 0xffffffffffffffff
mov rcx, rbx
call fcn.14008bab0
test eax, eax
je 0x14002083b
mov eax, dword [rsp + 0x44]
cmp eax, 0x41
jne 0x140020568
mov rdx, qword [0x140100a58]
mov rax, qword [rdx + 0xd8]
movsxd rcx, dword [rax + 0x54]
cmp ecx, 0x7d0
jge 0x140020805
mov rax, qword [rax + 0x40]
mov qword [rax + rcx*8], rsi
mov rax, qword [rdx + 0xd8]
inc dword [rax + 0x54]
jmp 0x140020572
mov rax, qword [rcx + 0x40]
mov rcx, qword [rax + rsi*8]
jmp 0x1400204ba
cmp eax, 0xc1
jne 0x140020572
mov byte [rsi + 0x22], al
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140020581
cmp ax, 9
jne 0x140020587
add rdi, 2
jmp 0x140020572
movzx eax, word [rdi]
test eax, eax
je 0x140020775
cmp eax, 0x2c
je 0x14002075a
cmp eax, 0x3a
je 0x1400205ae
cmp eax, 0x3d
jne 0x1400205bd
add rdi, 2
mov sil, 1
jmp 0x1400205c0
cmp word [rdi + 2], 0x3d
jne 0x140020820
add rdi, 4
xor sil, sil
mov edx, 0x2c
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
call fcn.14008e370
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 0x140020608
nop dword [rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x1400205ff
cmp ax, 9
jne 0x140020608
sub rdi, 2
cmp rdi, rbx
ja 0x1400205f0
movzx eax, word [rdi + 2]
xor edx, edx
mov word [rsp + 0x40], ax
mov word [rdi + 2], dx
test sil, sil
je 0x140020682
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 0x140020630
mov qword [rsp + 0x38], rdx
lea r8, [0x1400cf698]
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, [0x1400cf694]
call fcn.14008c250
xor edx, edx
lea rbx, [rbp + 0x8d30]
mov esi, dword [rsp + 0x44]
cmp esi, 0x62
jne 0x140020698
mov rax, qword [rbp + 0x10d60]
mov byte [rax + 0x7d], 1
jmp 0x1400206d0
cmp byte [rsp + 0x48], 0
je 0x1400206d0
cmp byte [rbp + 0x10d80], 0
jne 0x1400206d0
mov rcx, qword [rbp + 0x10d60]
xor r9d, r9d
mov qword [rsp + 0x20], rdx
xor r8d, r8d
mov dl, 0x75
call fcn.140023030
test eax, eax
je 0x1400207b4
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.1400200c0
test eax, eax
je 0x1400207b4
cmp esi, 0x62
jne 0x140020721
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 0x140020755
lea rbx, [rax + 2]
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14002074f
cmp ax, 9
jne 0x140020778
add rbx, 2
jmp 0x140020740
mov rbx, rax
jmp 0x140020778
lea rbx, [rdi + 2]
nop
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14002076f
cmp ax, 9
jne 0x140020778
add rbx, 2
jmp 0x140020760
mov rbx, rdi
cmp word [rbx], 0
jne 0x14002032d
cmp byte [rbp + 0x10d80], 0
je 0x140020888
mov rcx, qword [rbp + 0x10d60]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], 0
mov dl, 0x76
call fcn.140023030
test eax, eax
jne 0x140020888
xor eax, eax
jmp 0x140022a90
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e5c00]
mov r8, rbx
call fcn.1400395f0
jmp 0x140022a90
mov rcx, qword [rsp + 0x68]
test byte [rcx + 0x22], 0x40
lea rax, [0x1400e5c48]
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e5c80]
cmovne rdx, rax
mov r8, rbx
call fcn.1400395f0
jmp 0x140022a90
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e5d38]
mov r8, rbx
call fcn.1400395f0
jmp 0x140022a90
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e5420]
mov r8, rbx
call fcn.1400395f0
jmp 0x140022a90
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e5ce0]
mov r8, rbx
call fcn.1400395f0
jmp 0x140022a90
mov r9, qword [rbp + 0x10d60]
cmp byte [r9 + 0x7c], dil
je 0x1400208a7
mov rax, qword [0x140100a58]
mov rcx, qword [rax + 0xd8]
movzx eax, byte [rcx + 0x5c]
test al, al
jne 0x140020892
cmp esi, 0x42
mov eax, 0x46
cmove esi, eax
mov byte [rcx + 0x5c], sil
mov eax, 1
jmp 0x140022a90
cmp al, 0x46
jne 0x1400208a7
cmp esi, 0x62
jne 0x1400208a7
mov byte [rcx + 0x5c], 0x66
lea eax, [rsi - 0x61]
jmp 0x140022a90
mov r8, rdx
mov rcx, r9
lea rdx, [0x1400e5420]
call fcn.1400395f0
jmp 0x140022a90
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.140022cd0
mov qword [rbp + 0x10d88], rax
test rax, rax
je 0x1400207b4
lea rcx, [rax + 2]
mov rsi, rcx
nop dword [rax]
movzx eax, word [rsi]
cmp ax, 0x20
je 0x14002090f
cmp ax, 9
jne 0x140020915
add rsi, 2
jmp 0x140020900
movzx ecx, word [rcx]
cmp cx, word [0x1401023f8]
mov qword [rsp + 0x58], rsi
je 0x140020977
cmp cx, 0x20
ja 0x14002093f
movzx eax, cx
movabs rdx, 0x100000201
bt rdx, rax
jb 0x140020977
cmp cx, 0x28
jne 0x140020973
lea rdx, [0x1400e4eac]
lea rcx, [rbp + 0x120]
call fcn.1400ab8c0
test eax, eax
je 0x140020977
lea rdx, [0x1400e4eb8]
lea rcx, [rbp + 0x120]
call fcn.1400ab8c0
test eax, eax
je 0x140020977
xor cl, cl
jmp 0x140020979
mov cl, 1
mov r9d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x40]
movzx eax, word [0x1401023f8]
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 0x1400209c5
movzx eax, word [rsi + 2]
add rsi, 2
mov qword [rsp + 0x58], rsi
cmp ax, 0x20
je 0x1400209a6
cmp ax, 9
jne 0x140021150
jmp 0x1400209a6
test r10b, r10b
jne 0x140020ba6
test r9b, r9b
jne 0x140021159
test cl, cl
je 0x140020fd5
lea rdx, [0x1400e4eac]
lea rcx, [rbp + 0x120]
call fcn.1400ab8c0
test eax, eax
jne 0x140020fcc
movzx ecx, word [rsi]
cmp cx, 0x28
je case.0x140020b44.34
cmp cx, word [0x1401023f4]
jne 0x140020a28
movzx eax, word [rsi + 2]
cmp ax, 0x20
je case.0x140020b44.34
cmp ax, 9
je case.0x140020b44.34
movzx eax, word [0x1401023f8]
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 0x140020ab6
movzx edx, word [rsi]
nop
lea rcx, [rbp - 0x60]
mov eax, r8d
cmp dx, ax
je 0x140020b00
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x140020a97
movzx edx, word [rbx + 2]
add rbx, 2
test dx, dx
jne 0x140020a90
or rax, 0xffffffffffffffff
nop word [rax + rax]
cmp word [rsi + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x140020ac0
lea rbx, [rsi + rax*2]
mov r8d, 3
lea rdx, [0x1400e2790]
mov rcx, rsi
call fcn.1400aba40
test eax, eax
jne 0x140020b15
movzx edx, word [rsi + 6]
lea rcx, [rbp - 0x60]
call fcn.1400a9e38
test rax, rax
je 0x140020b15
mov dil, 1
jmp 0x140020b18
movzx eax, word [rbx]
cmp ax, r8w
je 0x140020b0f
cmp ax, 9
jne 0x140020ad0
add rbx, 2
jmp 0x140020b00
xor dil, dil
movzx eax, word [rbx]
add eax, 0xffffffdf
cmp eax, 0x4d
ja case.0x140020b44.34
lea r9, [0x140000000]
cdqe
movzx eax, byte [r9 + rax + 0x22ac8]
mov ecx, dword [r9 + rax*4 + 0x22aa4]
add rcx, r9
jmp rcx
mov r10b, reloc.OLEAUT32.dll_SafeArrayGetUBound
jmp 0x140020b97
movzx ecx, word [rbx + 2]
sub ecx, 0x3d
je 0x140020b6a
cmp ecx, 1
je 0x140020c6d
mov r10b, reloc.OLEAUT32.dll_SafeArrayAccessData
mov dword [rsp + 0x40], r10d
jmp 0x140020ec8
mov r10b, reloc.OLEAUT32.dll_SafeArrayUnaccessData
mov eax, SafeArrayAllocDescriptor
mov dword [rsp + 0x40], r10d
mov word [rbx + 2], ax
jmp 0x140020ec8
cmp word [rbx + 2], 0x3d
jne 0x140020c55
mov r10b, reloc.OLEAUT32.dll_SafeArrayUnlock
mov eax, SafeArrayAllocDescriptor
mov word [rbx + 2], ax
movzx eax, word [0x1401023f8]
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 0x140021778
sub ecx, 0x4e
je 0x140021778
sub ecx, 1
je 0x140021770
sub ecx, 1
je 0x140021778
cmp ecx, 3
jne 0x1400217b6
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 0x140020c34
lea eax, [r8 + 1]
movsxd rcx, eax
cmp word [rsi + rcx*2], 0x3d
jne case.0x140020c53.0
movzx eax, r9w
cmp eax, 0x7d
ja case.0x140020c53.3
movzx eax, byte [rbx + rax + 0x22b38]
mov ecx, dword [rbx + rax*4 + 0x22b18]
add rcx, rbx
jmp rcx
mov r10b, reloc.OLEAUT32.dll_SafeArrayLock
mov dword [rsp + 0x40], r10d
jmp 0x140020ec8
cmp word [rbx + 2], 0x3d
jne case.0x140020b44.34
mov r10b, reloc.OLEAUT32.dll_SafeArrayGetLBound
jmp 0x140020b8e
test dil, dil
jne case.0x140020b44.34
mov r8d, 7
lea rdx, [0x1400cf738]
mov rcx, rbx
call fcn.1400aba40
test eax, eax
jne case.0x140020b44.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 0x140020ec8
test dil, dil
jne case.0x140020b44.34
mov r8d, 8
lea rdx, [0x1400cf6e8]
mov rcx, rbx
call fcn.1400aba40
test eax, eax
jne case.0x140020b44.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 0x140020ec8
movzx ecx, word [rbx + 2]
call fcn.14000ae80
movzx eax, ax
cmp eax, 0x4e
je 0x140020da1
cmp eax, 0x53
je 0x140020d37
cmp eax, 0x6e
je 0x140020da1
cmp eax, 0x73
jne case.0x140020b44.34
test dil, dil
jne case.0x140020b44.34
lea rdi, [rbx + 4]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140020d53
cmp ax, 9
jne 0x140020d59
add rdi, 2
jmp 0x140020d44
mov r8d, 3
lea rdx, [0x1400e5d68]
mov rcx, rdi
call fcn.1400aba40
mov edx, SafeArrayAllocDescriptor
test eax, eax
je 0x140020d7c
mov r10b, SafeArrayDestroy
jmp 0x140020d89
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 0x140020ec8
jmp 0x140020f84
test dil, dil
jne case.0x140020b44.34
mov r10b, 9
mov eax, SafeArrayAllocDescriptor
mov dword [rsp + 0x40], r10d
mov word [rbx + 2], ax
jmp 0x140020ec8
mov r8d, 3
lea rdx, [0x1400e5d68]
mov rcx, rbx
call fcn.1400aba40
test eax, eax
jne case.0x140020b44.34
movzx eax, word [rbx + 6]
lea rdi, [rbx + 6]
cmp ax, 0x20
je 0x140020df5
cmp ax, 9
jne case.0x140020b44.34
mov eax, SafeArrayAllocDescriptor
mov dword [rbx], 0x200020
mov word [rbx + 4], ax
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140020e13
cmp ax, 9
jne 0x140020e19
add rdi, 2
jmp 0x140020e04
mov r8d, 2
lea rdx, [0x1400cf6d0]
mov rcx, rdi
call fcn.1400aba40
test eax, eax
jne 0x140020e45
mov r10b, 0xa
mov dword [rdi], 0x200020
mov dword [rsp + 0x40], r10d
jmp 0x140020ec8
mov r8d, 7
lea rdx, [0x1400cf738]
mov rcx, rdi
call fcn.1400aba40
test eax, eax
jne 0x140020e85
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 0x140020ec8
mov r8d, 8
lea rdx, [0x1400cf6e8]
mov rcx, rdi
call fcn.1400aba40
test eax, eax
jne 0x140020ec3
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 0x140020ec8
mov r10d, dword [rsp + 0x40]
movzx eax, word [0x1401023f8]
mov word [rbx], ax
lea eax, [r10 - 0xf]
cmp al, 1
ja 0x140021150
lea rdx, [0x1400e4f98]
mov rcx, rbx
call fcn.14008be00
mov rbx, rax
test rax, rax
je 0x140020f42
nop word [rax + rax]
movzx edx, word [rbx - 2]
lea rcx, [0x1400e2b00]
call fcn.1400a9e38
test rax, rax
je 0x140020f2a
movzx edx, word [rbx + 6]
lea rcx, [0x1400e2b00]
call fcn.1400a9e38
test rax, rax
jne 0x140020f61
lea rcx, [rbx + 6]
lea rdx, [0x1400e4f98]
call fcn.14008be00
mov rbx, rax
test rax, rax
jne 0x140020f00
mov r8, qword [rbp + 0x10d68]
lea rdx, [0x1400e5d70]
mov rcx, qword [rbp + 0x10d60]
call fcn.1400395f0
jmp 0x140022a90
movzx eax, word [0x1401023f8]
mov r10d, dword [rsp + 0x40]
mov word [rbx], ax
mov dword [rbx + 2], 0x200020
jmp 0x140021150
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 0x140020f90
lea rdx, [rax - 1]
cmp word [rsi + rdx*2], 0x7b
lea rdx, [rsi + rdx*2]
jne 0x140020ba6
xor eax, eax
mov rcx, rsi
mov word [rdx], ax
sub rdx, rsi
sar rdx, 1
call fcn.140017880
mov byte [rbp + 0x10d80], 1
jmp 0x140020ba6
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.0x14002100a.47
cdqe
movzx eax, byte [r9 + rax + 0x22be0]
mov ecx, dword [r9 + rax*4 + 0x22bb8]
add rcx, r9
jmp rcx
movzx eax, word [0x1401023f8]
mov r10b, 1
mov word [rsi], ax
jmp 0x14002113f
cmp dx, 0x3d
mov r10d, 2
mov eax, 0
cmovne r10d, eax
jmp 0x1400211d2
cmp word [rbp + 0x120], 0x2b
jne 0x140021051
cmp word [rbp + 0x122], 0
jne 0x140021051
mov al, 1
mov r10b, 4
jmp 0x140021089
xor al, al
cmp dx, 0x3d
jne case.0x14002100a.47
mov r10b, 4
jmp 0x140021089
cmp word [rbp + 0x120], 0x2d
jne 0x14002107a
cmp word [rbp + 0x122], 0
jne 0x14002107a
mov al, 1
jmp 0x140021086
xor al, al
cmp dx, 0x3d
jne case.0x14002100a.47
mov r10b, 5
mov dword [rsp + 0x40], r10d
test al, al
je 0x1400211dc
movzx eax, word [rdi]
cmp ax, 0x20
je 0x1400210a5
cmp ax, 9
jne 0x1400210ab
add rdi, 2
jmp 0x140021096
lea rdx, [0x1400e5dd0]
mov rcx, rdi
call fcn.14000aeb0
test rax, rax
jne 0x14002113c
mov rbx, r11
cmp word [rdi + rbx*2 + 2], 0
lea rbx, [rbx + 1]
jne 0x1400210c2
mov rcx, qword [rbp + 0x10d68]
lea r8, [rbx*2 + 2]
mov rdx, rdi
call fcn.1400a9a00
mov r10, qword [rbp + 0x10d68]
movzx eax, word [0x1401023f8]
mov word [r10 + rbx*2], ax
xor eax, eax
mov dword [r10 + rbx*2 + 2], gethostbyname
mov r10d, dword [rsp + 0x40]
jmp 0x140021144
movzx eax, r10b
cmp dx, 0x3d
cmovne ebx, eax
movzx r10d, bl
jmp 0x1400211d2
cmp dx, 0x3d
jne 0x14002112f
mov bl, 7
mov dword [rsp + 0x40], ebx
jmp 0x1400211f0
cmp dx, 0x2f
jne case.0x14002100a.47
cmp word [rsi + 4], 0x3d
jne case.0x14002100a.47
mov r10b, 3
mov dword [rsp + 0x40], r10d
mov rsi, qword [rbp + 0x10d68]
mov qword [rsp + 0x58], rsi
test r10b, r10b
jne 0x140020ba6
lea r9, [0x140000000]
cmp byte [rsp + 0x48], 0
mov ebx, dword [rsp + 0x50]
je 0x1400213bb
test bl, bl
jne 0x1400213bb
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 + 0x101310]
call fcn.1400ab8c0
test eax, eax
je 0x140021360
inc ebx
lea r9, [0x140000000]
cmp ebx, 0xe4
jl 0x140021180
mov byte [rsp + 0x40], 0
jmp 0x140021371
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.0x14002100a.47
cmp r10b, 3
je 0x140021144
cmp r10b, 1
je 0x140021251
mov ebx, dword [rsp + 0x40]
movzx edx, word [0x1401023f8]
xor r9d, r9d
mov rcx, rsi
lea r8d, [r9 + 2]
call fcn.14008e370
movsxd rcx, eax
cmp word [rsi + rcx*2], r9w
je 0x14002124c
lea eax, [rbx - 4]
cmp al, 1
ja 0x14002113c
inc rcx
lea rcx, [rsi + rcx*2]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x140021231
cmp ax, 9
jne 0x140021237
add rcx, 2
jmp 0x140021222
lea rdx, [0x1400e5dd0]
call fcn.14000aeb0
test rax, rax
jne 0x14002113c
mov r10d, dword [rsp + 0x40]
cmp r10b, 3
je 0x140021144
movzx eax, word [0x1401023f8]
mov word [rsi], ax
cmp r10b, 1
je 0x140021144
mov eax, SafeArrayAllocDescriptor
mov word [rdi], ax
jmp 0x140021144
cmp dx, r8w
jmp 0x140021133
cmp dx, 0x3d
je 0x14002113c
mov rcx, rdi
call fcn.14003b3c0
mov rbx, rax
cmp word [rax], 0x28
je 0x14002113c
cmp rbx, rdi
je 0x140021356
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x1400212bf
cmp ax, 9
jne 0x1400212c5
add rbx, 2
jmp 0x1400212b0
movzx edx, word [rbx]
cmp dx, 0x5b
je 0x14002113c
test dx, dx
je 0x14002113c
cmp word [rbx + 2], 0x3d
lea rdi, [rbx + 2]
jne 0x1400212fb
lea rcx, [0x1400e5db0]
call fcn.1400a9e38
test rax, rax
jne 0x14002113c
movzx ecx, word [rbx]
cmp word [rdi], cx
jne 0x140021336
movzx edx, cx
lea rcx, [0x1400e5dc8]
call fcn.1400a9e38
test rax, rax
je 0x140021322
cmp word [rbx + 4], 0x3d
je 0x14002113c
movzx ecx, word [rbx]
mov edx, 0xfffd
lea eax, [rcx - 0x2b]
test dx, ax
je 0x14002113c
cmp cx, 0x2e
jne 0x140021356
mov rcx, rdi
call fcn.14003b3c0
mov rbx, rax
cmp word [rax], 0x28
jne 0x1400212a4
jmp 0x14002113c
mov r10d, dword [rsp + 0x40]
jmp 0x140021159
movzx r10d, bl
mov dword [rsp + 0x40], r10d
test bl, bl
jne 0x140020ba6
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 + 0x101210]
call fcn.1400ab8c0
test eax, eax
je 0x1400213b4
inc ebx
mov dword [rsp + 0x50], ebx
cmp ebx, 0xe
jl 0x140021381
xor dil, dil
mov dword [rsp + 0x50], edi
jmp 0x1400213d0
mov r10d, dword [rsp + 0x40]
jmp 0x1400213c4
test r10b, r10b
jne 0x140020ba6
mov edi, dword [rsp + 0x50]
test bl, bl
jne 0x140020baa
movzx eax, word [rsi]
cmp ax, 0x7b
jne 0x14002148e
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 + 0x101310]
call fcn.1400ab8c0
test eax, eax
je 0x14002145b
inc ebx
cmp ebx, 0xe4
jl 0x1400213e2
movzx edx, word [rsi]
lea rcx, [0x1400e5dd0]
call fcn.1400a9e38
test rax, rax
je 0x1400215a3
movzx ecx, word [rsi]
mov edx, 0xfffd
lea eax, [rcx - 0x2b]
test dx, ax
jne 0x14002155d
cmp word [rsi + 2], cx
jne 0x14002155d
cmp word [rsi + 4], 0
je 0x140021520
mov r10b, 3
jmp 0x14002153f
cmp bl, 0x21
je 0x14002147c
cmp bl, 0x69
je 0x14002146e
lea eax, [rbx - 0x6f]
cmp al, 2
jbe 0x14002147c
jmp 0x140021412
cmp word [rsi + 2], 0
mov byte [rbp + 0x10d80], 1
jne 0x140021412
movzx r10d, bl
mov dword [rsp + 0x40], r10d
test bl, bl
je 0x140021412
jmp 0x140020baa
cmp ax, 0x3a
jne 0x140021412
lea rdx, [0x1400e3918]
lea rcx, [rbp + 0x120]
call fcn.1400ab8c0
test eax, eax
jne 0x140021412
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.140023030
test eax, eax
je 0x1400207b4
lea rdx, [rsi + 2]
nop dword [rax]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x1400214ef
cmp ax, 9
jne 0x1400214f5
add rdx, 2
jmp 0x1400214e0
cmp word [rdx], bx
je 0x140020888
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 0x140022a8b
movzx eax, word [0x1401023f8]
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 0x1400215aa
jmp 0x140020bb6
cmp cx, 0x3f
je 0x140021587
mov edx, 0x3f
mov rcx, rsi
call fcn.1400a9e38
test rax, rax
je 0x1400215a3
mov edx, 0x3a
mov rcx, rax
call fcn.1400a9e38
test rax, rax
je 0x1400215a3
mov rbx, qword [rbp + 0x10d68]
mov r10b, 3
mov dword [rsp + 0x40], r10d
mov rsi, rbx
mov qword [rsp + 0x58], rbx
jmp 0x140020bb6
mov rbx, qword [rbp + 0x10d68]
movzx eax, word [rsi]
cmp ax, 0x28
je 0x140021620
cmp ax, 0x5b
je 0x140021620
cmp word [rbx], 0x28
je 0x140021620
mov r8d, 3
lea rdx, [0x1400e5e08]
mov rcx, rbx
call fcn.1400aba40
test eax, eax
jne 0x1400215e8
movzx eax, word [rbx + 6]
cmp ax, 0x20
je 0x140021620
cmp ax, 9
je 0x140021620
lea rdx, [0x1400e4fdc]
mov rcx, rbx
call fcn.1400a9ecc
test rax, rax
lea rcx, [0x1400e5e10]
lea rdx, [0x1400e5420]
mov r8, rbx
cmovne rdx, rcx
mov rcx, qword [rbp + 0x10d60]
call fcn.1400395f0
jmp 0x140022a90
mov r10b, 3
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x40], r10d
mov rsi, rbx
jmp 0x140020bb6
movzx eax, word [rdx + 2]
lea rdx, [rdx + 2]
inc r8d
test ax, ax
je case.0x140020c53.0
cmp ax, 0x22
jne case.0x140020c53.1
inc r8d
jmp 0x140020c10
inc r8d
mov edx, edi
xor r9d, r9d
mov rcx, rsi
call fcn.14008e4c0
movsxd r8, eax
mov rcx, r8
jmp 0x14002169b
movzx eax, r10w
jmp 0x140021687
mov eax, 0x5d
jmp 0x140021687
movzx eax, r11w
inc r8d
xor r9d, r9d
movzx edx, ax
mov rcx, rsi
call fcn.14008e4c0
movsxd r8, eax
cmp word [rsi + r8*2], 0
je case.0x140020c53.0
mov r11d, 0x7d
lea r10d, [r11 - 0x54]
inc r8d
jmp 0x140020c10
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 0x1400216e9
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400e5e30]
mov r8, rbx
call fcn.1400395f0
jmp 0x140022a90
xor r8d, r8d
mov word [rdx], r8w
cmp word [rsi], r8w
je 0x140021745
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rsi + rax*2], r8w
jne 0x140021700
dec rax
lea rax, [rsi + rax*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x140021720
cmp cx, 9
jne 0x14002172b
cmp rax, rsi
je 0x140021732
sub rax, 2
jmp 0x140021711
mov word [rax + 2], r8w
jmp 0x140021745
movzx ecx, word [rax]
cmp cx, 0x20
je 0x140021741
cmp cx, 9
jne 0x140021745
mov word [rax], r8w
movzx eax, word [rdx + 2]
add rdx, 2
cmp ax, 0x20
je 0x140021745
cmp ax, 9
je 0x140021745
mov r10d, dword [rsp + 0x40]
mov qword [rsp + 0x68], rdx
cmp ax, r8w
jne 0x1400217b6
mov qword [rsp + 0x68], r8
jmp 0x1400217b6
cmp word [rsi], 0x7b
jne 0x1400217b6
jmp 0x14002177e
cmp word [rsi], 0x7b
jne 0x14002179e
mov byte [rbp + 0x10d80], 1
movzx eax, word [rsi + 2]
add rsi, 2
cmp ax, 0x20
je 0x140021785
cmp ax, 9
je 0x140021785
mov qword [rsp + 0x58], rsi
cmp word [rsi], r8w
je 0x1400217b6
mov qword [rsp + 0x68], rsi
sub rsi, 2
mov qword [rsp + 0x58], rsi
mov word [rsi], r8w
test r10b, r10b
je 0x1400217db
movzx eax, r10b
lea rcx, [rax + rax*8]
lea rax, [0x140000000]
lea rbx, [rax + 0x101310]
lea rbx, [rbx + rcx*2]
mov qword [rbp - 0x70], rbx
jmp 0x1400217f9
movzx eax, dil
lea rcx, [rax + rax*8]
lea rax, [0x140000000]
lea rax, [rax + rcx*2]
lea rax, [rax + 0x101210]
mov qword [rbp - 0x70], rax
xor edx, edx
lea rcx, [rbp + 0xd20]
mov r8d, 0x8002
call fcn.1400aa420
mov rdx, qword [rbp + 0x10d90]
test rdx, rdx
je 0x1400218ad
mov ecx, dword [rbp + 0x10d98]
mov rax, rsi
sub rax, qword [rbp + 0x10d88]
sar rax, 1
sub ecx, eax
test ecx, ecx
jle 0x14002184e
movsxd r8, ecx
lea rcx, [rbp + 0xd20]
cdqe
add r8, r8
lea rdx, [rdx + rax*2]
call fcn.1400a9a00
mov edx, dword [rsp + 0x40]
xor edi, edi
mov dword [rbp - 0x68], edi
cmp dl, 0x22
jne 0x140021f0e
mov ebx, 1
mov r11d, edi
mov dword [rsp + 0x4c], ebx
cmp word [rsi], di
je 0x140022001
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 0x1400218a5
cmp ax, 9
jne 0x1400219a1
inc edx
add rcx, 2
jmp 0x140021892
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 0x1400218e5
movzx ecx, word [0x1401023f0]
nop
cmp word [rax], cx
je 0x1400218e5
inc rbx
inc edi
cmp word [rsi + rbx*2], 0
lea rax, [rsi + rbx*2]
jne 0x1400218d0
cmp word [rsi + rbx*2], 0
je 0x14002184e
movzx eax, word [rsi + rbx*2 + 2]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x140021911.99
lea r9, [0x140000000]
cdqe
mov ecx, dword [r9 + rax*4 + 0x22c38]
add rcx, r9
jmp rcx
mov eax, 7
mov word [rsi + rbx*2 + 2], ax
jmp case.0x140021911.99
mov eax, 8
mov word [rsi + rbx*2 + 2], ax
jmp case.0x140021911.99
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov word [rsi + rbx*2 + 2], ax
jmp case.0x140021911.99
mov eax, 0xa
mov word [rsi + rbx*2 + 2], ax
jmp case.0x140021911.99
mov word [rsi + rbx*2 + 2], dx
jmp case.0x140021911.99
mov eax, 9
mov word [rsi + rbx*2 + 2], ax
jmp case.0x140021911.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 0x140021970
lea r8, [r8*2 + 2]
call fcn.1400a9a00
mov eax, 1
inc edi
mov word [rbp + rbx*2 + 0xd20], ax
inc rbx
jmp 0x1400218b3
cmp ax, word [0x1401023f4]
jne 0x1400219f9
movsxd rax, edx
cmp word [rbp + rax*2 + 0xd20], 0
jne 0x1400219f9
lea eax, [rdx + 1]
movsxd rcx, eax
movzx eax, word [rsi + rcx*2]
cmp ax, 0x20
je 0x1400219ce
cmp ax, 9
jne 0x1400219f9
cmp ebx, 3
jge 0x140021ffd
lea r8d, [rdx + 2]
mov rcx, rsi
movzx edx, word [0x1401023f8]
lea r9, [rbp + 0xd20]
call fcn.14008e370
mov r11d, eax
jmp 0x140021b96
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 0x140021a5a
mov r10, rcx
nop word [rax + rax]
movzx eax, word [0x1401023f8]
cmp word [r10], ax
jne 0x140021a39
cmp word [rbp + r8 + 0xd20], 0
je 0x140021a4f
inc r9
inc r11d
lea r8, [r9 + r9]
cmp word [r8 + rsi], 0
lea r10, [r8 + rsi]
jne 0x140021a20
mov dword [rsp + 0x44], r11d
mov r10d, 0xffdf
cmp ebx, 1
jne 0x140021b91
movsxd rax, r11d
cmp word [rsi + rax*2], 0
lea rax, [rsi + rax*2]
mov qword [rsp + 0x78], rax
je 0x140021ffd
mov word [rax], di
nop dword [rax]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x140021a8f
cmp ax, 9
jne 0x140021a95
add rcx, 2
jmp 0x140021a80
movzx eax, word [rcx]
test ax, ax
je 0x140021b66
cmp ax, 0x2d
je 0x140021b5f
cmp ax, 0x2b
lea rbx, [rcx + 2]
cmovne rbx, rcx
cmp word [rbx], 0x30
jne 0x140021add
movzx eax, word [rbx + 2]
sub ax, 0x58
test r10w, ax
jne 0x140021add
movzx ecx, word [rbx + 4]
call fcn.1400aed74
mov esi, 1
test eax, eax
jne 0x140021adf
mov esi, edi
test esi, esi
lea rdi, [rbx + 4]
cmove rdi, rbx
xor ecx, ecx
movzx ebx, word [rdi]
cmp ebx, 0x20
je 0x140021b40
cmp ebx, 9
je 0x140021b40
test ebx, ebx
je 0x140021b5b
cmp ebx, 0x2e
je 0x140021b5f
test esi, esi
je 0x140021b22
movzx ecx, bx
call fcn.1400af294
xor ecx, ecx
test eax, eax
sete cl
test ecx, ecx
je 0x140021b2a
movzx ecx, bx
call fcn.14000ae80
jmp 0x140021b5f
lea eax, [rbx - 0x30]
cmp eax, 9
ja 0x140021b18
movzx ebx, word [rdi + 2]
add rdi, 2
mov ecx, 1
cmp ebx, 0x20
jne 0x140021af3
nop dword [rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140021b4f
cmp ax, 9
jne 0x140021b55
add rdi, 2
jmp 0x140021b40
cmp word [rdi], 0
jne 0x140021b5f
test ecx, ecx
jne 0x140021b66
mov dword [rbp - 0x68], 1
cmp dword [rbp - 0x68], 0
mov rcx, qword [rsp + 0x78]
movzx eax, word [0x1401023f8]
mov rsi, qword [rsp + 0x58]
mov word [rcx], ax
jne 0x140021ffd
mov r11d, dword [rsp + 0x44]
xor edi, edi
mov ebx, dword [rsp + 0x4c]
jmp 0x140021b96
cmp ebx, 4
je 0x140021bb5
inc ebx
movsxd rax, r11d
mov dword [rsp + 0x4c], ebx
mov r10d, 0xffdf
cmp word [rsi + rax*2], 0
jne 0x140021880
jmp 0x140021ffd
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 0x140021bdf
cmp cx, 9
jne 0x140021be5
add rax, 2
jmp 0x140021bd0
movzx ecx, word [rax]
test cx, cx
je 0x140021ffd
cmp cx, 0x2d
je 0x140021d52
cmp cx, 0x2b
lea rdi, [rax + 2]
cmovne rdi, rax
cmp word [rdi], 0x30
jne 0x140021c2f
movzx eax, word [rdi + 2]
sub ax, 0x58
test r10w, ax
jne 0x140021c2f
movzx ecx, word [rdi + 4]
call fcn.1400aed74
test eax, eax
je 0x140021c2f
mov eax, 1
jmp 0x140021c31
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 0x140021cc0
mov qword [rsp + 0x78], rax
cmp edi, 9
je 0x140021cc0
test edi, edi
je 0x140021d31
cmp edi, 0x2e
jne 0x140021c82
test ecx, ecx
jne 0x140021d45
test rax, rax
jne 0x140021d45
mov ecx, 1
mov dword [rsp + 0x4c], ecx
jmp 0x140021cac
test rax, rax
je 0x140021cd5
movzx ecx, di
call fcn.1400af294
xor ecx, ecx
test eax, eax
sete cl
test ecx, ecx
jne 0x140021cdd
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 0x140021c54
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140021ccf
cmp ax, 9
jne 0x140021d2b
add rbx, 2
jmp 0x140021cc0
lea eax, [rdi - 0x30]
cmp eax, 9
jbe 0x140021c9e
movzx ecx, di
call fcn.14000ae80
cmp ax, 0x45
jne 0x140021d45
cmp dword [rsp + 0x4c], 0
je 0x140021d45
mov edx, dword [rsp + 0x60]
test edx, edx
je 0x140021d45
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 0x140021d45
mov ecx, dword [rsp + 0x4c]
jmp 0x140021ca7
cmp word [rbx], 0
jne 0x140021d45
test edx, edx
je 0x140021d45
xor eax, eax
test ecx, ecx
setne al
add eax, 1
jne 0x140021ffd
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 0x140021f02
movzx edx, word [0x1401023f4]
cmp word [r8], dx
jne 0x140021f02
cmp word [rbp + r9 + 0xd20], 0
jne 0x140021f02
lea rcx, [r8 + 2]
call fcn.1400a9e38
test rax, rax
je 0x140021f02
movzx ecx, word [rax + 2]
add rax, 2
cmp cx, 0x20
je 0x140021d93
cmp cx, 9
je 0x140021d93
test cx, cx
je 0x140021ffd
cmp cx, 0x2d
je 0x140021f02
cmp cx, 0x2b
lea rdi, [rax + 2]
cmovne rdi, rax
cmp word [rdi], 0x30
jne 0x140021df2
movzx eax, word [rdi + 2]
mov ecx, 0xffdf
sub ax, 0x58
test cx, ax
jne 0x140021df2
movzx ecx, word [rdi + 4]
call fcn.1400aed74
test eax, eax
je 0x140021df2
mov eax, 1
jmp 0x140021df4
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 0x140021e80
mov qword [rsp + 0x78], rax
cmp edi, 9
je 0x140021e80
test edi, edi
je 0x140021eee
cmp edi, 0x2e
jne 0x140021e45
test ecx, ecx
jne 0x140021f02
test rax, rax
jne 0x140021f02
mov ecx, 1
mov dword [rsp + 0x44], ecx
jmp 0x140021e6f
test rax, rax
je 0x140021e95
movzx ecx, di
call fcn.1400af294
xor ecx, ecx
test eax, eax
sete cl
test ecx, ecx
jne 0x140021e9d
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 0x140021e17
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140021e8f
cmp ax, 9
jne 0x140021ee8
add rbx, 2
jmp 0x140021e80
lea eax, [rdi - 0x30]
cmp eax, 9
jbe 0x140021e61
movzx ecx, di
call fcn.14000ae80
cmp ax, 0x45
jne 0x140021f02
cmp dword [rsp + 0x44], 0
je 0x140021f02
mov edx, dword [rsp + 0x4c]
test edx, edx
je 0x140021f02
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 0x140021f02
mov ecx, dword [rsp + 0x44]
jmp 0x140021e6a
cmp word [rbx], 0
jne 0x140021f02
test edx, edx
je 0x140021f02
xor eax, eax
test ecx, ecx
setne al
add eax, 1
jne 0x140021ffd
mov dword [rbp - 0x68], 3
jmp 0x140021ffd
cmp dl, 0x6a
jne 0x140022001
mov rbx, rsi
cmp word [rsi], di
je 0x140021f64
nop
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140021f2f
cmp ax, 9
jne 0x140021f5b
movzx ecx, word [rbx + 2]
call fcn.1400af1e4
cmp eax, 0x69
jne 0x140021f5b
movzx ecx, word [rbx + 4]
call fcn.1400af1e4
cmp eax, 0x6e
jne 0x140021f5b
movzx eax, word [rbx + 6]
cmp ax, 0x20
je 0x140021f64
cmp ax, 9
je 0x140021f64
add rbx, 2
cmp word [rbx], di
jne 0x140021f20
cmp word [rbx], di
jne 0x140021f88
mov r8, qword [rbp + 0x10d68]
lea rdx, [0x1400e5e50]
mov rcx, qword [rbp + 0x10d60]
call fcn.1400395f0
jmp 0x140022a90
mov rax, rbx
mov edx, 1
sub rax, rsi
sar rax, 1
movsxd rcx, eax
test eax, eax
jle 0x140021fb7
nop dword [rax]
movzx eax, word [0x1401023f8]
cmp word [rsi + rcx*2], ax
jne 0x140021faf
inc edx
dec rcx
test rcx, rcx
jg 0x140021fa0
movzx eax, word [0x1401023f8]
mov word [rbx + 2], ax
cmp edx, 1
jle 0x140021ff2
cmp edx, 2
jle 0x140021feb
mov r8, qword [rbp + 0x10d68]
lea rdx, [0x1400e5e90]
mov rcx, qword [rbp + 0x10d60]
call fcn.1400395f0
jmp 0x140022a90
mov eax, SafeArrayAllocDescriptor
jmp 0x140021ff9
movzx eax, word [0x1401023f8]
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 0x140022024
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 0x1400223ce
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 0x1400223c9
cmp r10d, 2
jne 0x140022141
lea eax, [rdx - 0x18]
cmp al, 3
ja 0x140022139
mov rcx, qword [rbp + 0x10d60]
lea rdx, [rbp + 0x320]
movsxd rax, edi
xor r9d, r9d
lea r8, [rsi + rax*2]
call fcn.140022cd0
mov qword [rbp - 0x78], rax
test rax, rax
je 0x140022139
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 + 0x101310]
lea rcx, [rbp + 0x320]
call fcn.1400ab8c0
test eax, eax
je 0x1400220e2
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
cmp eax, 0xe4
jl 0x1400220a1
xor r8b, r8b
mov dword [rsp + 0x60], r8d
jmp 0x1400220f0
mov r8d, dword [rsp + 0x60]
test r8b, r8b
jne 0x1400223a2
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 + 0x101210]
call fcn.1400ab8c0
test eax, eax
je 0x140022139
inc ebx
mov dword [rsp + 0x44], ebx
cmp ebx, 0xe
jl 0x140022100
xor al, al
mov dword [rsp + 0x44], eax
jmp 0x140022141
test bl, bl
jne 0x14002239d
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 0x1400223b5
movzx eax, word [0x1401023f4]
cmp word [r9], ax
jne 0x1400221a7
cmp word [rcx], 0
jne 0x1400221a7
movzx eax, word [r9 + 2]
cmp ax, 9
je 0x1400222f2
cmp ax, 0x20
je 0x1400222f2
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 0x1400221d6
movzx eax, al
cmp eax, edx
je 0x1400222c5
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x1400221c0
mov eax, dword [rsp + 0x40]
cmp al, 0x74
je 0x1400222f2
cmp al, 0x2b
jne 0x140022218
lea eax, [r10 - 2]
cmp eax, 1
ja 0x140022218
mov rcx, qword [rbp - 0x18]
call fcn.140018ae0
cmp eax, 5
ja 0x1400222f2
mov ecx, 0x2b
bt ecx, eax
jae 0x1400222f2
mov r8, qword [rsp + 0x58]
mov r9, qword [rbp - 0x68]
movzx eax, word [r9]
test ax, ax
je 0x140022248
cmp ax, word [0x1401023f8]
jne 0x140022235
cmp word [rbp + rbx + 0xd20], 0
je 0x140022248
inc rsi
inc edi
lea rbx, [rsi + rsi]
movzx eax, word [rbx + r8]
test ax, ax
jne 0x140022221
mov rsi, qword [rsp + 0x58]
mov r11, qword [rbp - 0x80]
movsxd rax, edi
cmp word [rsi + rax*2], 0
je 0x14002236e
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 0x14002232f
or rax, 0xffffffffffffffff
inc rax
cmp word [r8 + rax*2], r10w
jne 0x140022282
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 0x1400222b1
cmp dx, 9
jne 0x140022329
cmp word [rcx], r10w
jne 0x140022329
test rax, rax
je 0x140022317
dec rax
sub rcx, 2
jmp 0x1400222a0
cmp byte [rcx], 0
je 0x1400221d6
cmp byte [rsp + 0x40], 0x86
jne 0x1400222f2
cmp r10d, 1
jle 0x1400222f2
lea rdx, [0x1400e5fc8]
mov rcx, r9
call fcn.1400ab8c0
test eax, eax
je 0x14002220f
mov rsi, qword [rsp + 0x58]
lea r9, [rbp + 0xd20]
movzx edx, word [0x1401023f8]
mov rcx, rsi
mov r8d, edi
call fcn.14008e370
mov edi, eax
jmp 0x14002224d
cmp dx, 0x20
je 0x140022323
cmp dx, 9
jne 0x14002232f
mov word [r8], r10w
jmp 0x14002232f
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 0x140022360
cmp ax, 9
jne 0x14002236e
cmp word [rcx], r10w
jne 0x14002236e
inc edi
add rcx, 2
jmp 0x140022350
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 0x1400223c9
mov rcx, qword [rbp - 0x30]
mov edx, dword [rsp + 0x40]
jmp 0x140022050
mov r8d, dword [rsp + 0x60]
mov r10d, dword [rsp + 0x4c]
movsxd rax, edi
lea rax, [rsi + rax*2]
mov qword [rsp + 0x68], rax
jmp 0x1400223ce
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 0x140022436
mov r9, qword [r11]
lea r8, reloc.WSOCK32.dll_WSAStartup
cmp dl, 1
lea rax, [0x1400cef3c]
lea rcx, [rbp + 0x520]
cmovg rax, r8
lea r8, [0x1400e5f10]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edx
mov edx, 0x400
call fcn.14008b9a0
mov r8, qword [rbp + 0x10d68]
lea rdx, [rbp + 0x520]
mov rcx, qword [rbp + 0x10d60]
call fcn.1400395f0
jmp 0x140022a90
xor edi, edi
cmp byte [rsp + 0x40], 0x74
mov edx, edi
cmove ecx, r10d
movsxd r9, ecx
mov ecx, edi
test r9, r9
jle 0x140022464
nop dword [rax]
mov rax, qword [rbp + rcx*8 - 0x20]
cmp word [rax], di
je 0x140022494
inc edx
inc rcx
cmp rcx, r9
jl 0x140022450
mov edx, dword [rsp + 0x50]
test dl, dl
je case.default.0x140022492
movzx eax, dl
dec eax
cmp eax, 0xc
ja case.default.0x140022492
lea r9, [0x140000000]
cdqe
mov ecx, dword [r9 + rax*4 + 0x22c90]
add rcx, r9
jmp rcx
mov r9, qword [r11]
lea eax, [rdx + 1]
mov edx, 0x400
mov dword [rsp + 0x20], eax
lea r8, [0x1400e5f60]
lea rcx, [rbp + 0x520]
call fcn.14008b9a0
jmp 0x140022417
mov rcx, qword [rbp + 0x10d60]
lea rbx, [0x1400e5fc0]
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.140023030
jmp 0x140022a90
mov rdi, qword [rbp - 0x18]
lea rax, [rbp + 0x80]
mov rcx, qword [rbp + 0x10d60]
lea rbx, [0x1400e5fc0]
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.140023030
test eax, eax
je 0x1400207b4
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.140023030
jmp 0x140022a90
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.140023030
jmp 0x140022a90
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.140023030
jmp 0x140022a90
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.140023030
jmp 0x140022a90
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.140023030
jmp 0x140022a90
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.140023030
jmp 0x140022a90
mov cl, reloc.OLEAUT32.dll_SafeArrayGetUBound
mov dword [rsp + 0x40], ecx
jmp 0x1400226ac
mov cl, reloc.OLEAUT32.dll_SafeArrayGetLBound
mov dword [rsp + 0x40], ecx
jmp 0x1400226ac
mov cl, reloc.OLEAUT32.dll_SafeArrayLock
mov dword [rsp + 0x40], ecx
jmp 0x1400226ac
mov cl, reloc.OLEAUT32.dll_SafeArrayUnlock
mov dword [rsp + 0x40], ecx
jmp 0x1400226ac
mov cl, reloc.OLEAUT32.dll_SafeArrayAccessData
mov dword [rsp + 0x40], ecx
jmp 0x1400226ac
mov cl, reloc.OLEAUT32.dll_SafeArrayUnaccessData
mov dword [rsp + 0x40], ecx
jmp 0x1400226ac
mov ecx, dword [rsp + 0x40]
test r10d, r10d
je 0x1400228a9
test r8b, r8b
jne 0x1400228a9
test bl, bl
jne 0x1400228a9
lea eax, [rcx - 0x12]
cmp al, 0xe
ja 0x1400228a9
cmp cl, 0x17
ja 0x1400226e2
sub dl, 6
cmp dl, 5
ja 0x1400228a9
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 0x1400228a7
nop dword [rax + rax]
cmp ax, word [0x1401023f8]
jne 0x140022724
cmp word [rbp + rdx + 0xd20], 0
je 0x14002273b
inc r8
inc ecx
lea rdx, [r8 + r8]
movzx eax, word [rdx + rsi]
test ax, ax
jne 0x140022710
jmp 0x1400228a7
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 0x140022768
movsxd rax, ecx
add rax, rax
cmp r8w, 9
jne 0x140022770
inc ecx
add rdx, 2
jmp 0x140022750
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.140022cd0
mov qword [rbp - 0x78], rax
test rax, rax
je 0x14002281f
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 + 0x101310]
call fcn.1400ab8c0
test eax, eax
mov eax, dword [rsp + 0x70]
je 0x1400227e0
inc eax
mov dword [rsp + 0x70], eax
cmp eax, 0xe4
jl 0x1400227a3
mov byte [rsp + 0x60], 0
jmp 0x1400227e8
mov byte [rsp + 0x60], al
test al, al
jne 0x14002283c
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 + 0x101210]
call fcn.1400ab8c0
test eax, eax
je 0x14002282f
inc ebx
cmp ebx, 0xe
jl 0x1400227f0
xor bl, bl
mov r10d, dword [rsp + 0x4c]
xor edi, edi
mov eax, edi
mov qword [rsp + 0x68], rax
jmp 0x1400228a9
movzx eax, bl
test bl, bl
mov dword [rsp + 0x44], eax
mov ebx, eax
je 0x14002281f
mov rax, qword [rbp - 0x30]
xor ecx, ecx
mov word [rax], cx
cmp word [rdi], cx
je 0x1400228a2
or rax, 0xffffffffffffffff
nop
inc rax
cmp word [rdi + rax*2], cx
jne 0x140022850
dec rax
lea rax, [rdi + rax*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14002286f
cmp cx, 9
jne 0x14002287a
cmp rax, rdi
je 0x140022887
sub rax, 2
jmp 0x140022860
mov r10d, dword [rsp + 0x4c]
xor edi, edi
mov word [rax + 2], di
jmp 0x1400228a9
movzx ecx, word [rax]
cmp cx, 0x20
je 0x140022896
cmp cx, 9
jne 0x1400228a2
mov r10d, dword [rsp + 0x4c]
xor edi, edi
mov word [rax], di
jmp 0x1400228a9
mov r10d, dword [rsp + 0x4c]
xor edi, edi
mov r11d, dword [rsp + 0x40]
lea eax, [r11 - 0x69]
test al, 0xfd
jne 0x1400228c6
cmp r10d, 1
jne 0x1400228c6
mov rax, qword [rbp - 0x20]
cmp word [rax], 0
jne 0x1400228e9
lea eax, [r11 - 0x6a]
cmp al, 9
ja 0x1400229af
mov ecx, 0x241
bt ecx, eax
jae 0x1400229af
test r10d, r10d
je 0x1400229af
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 0x140022900
cmp word [rdx + rax*2 - 2], 0x7b
jne 0x1400229af
mov word [rdx + rax*2 - 2], di
cmp word [rdx], 0
mov byte [rbp + 0x10d80], 1
je 0x140022981
or rax, 0xffffffffffffffff
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x140022930
lea rcx, [rax - 1]
lea rcx, [rdx + rcx*2]
movzx r8d, word [rcx]
cmp r8w, 0x20
je 0x140022954
cmp r8w, 9
jne 0x140022962
cmp rcx, rdx
je 0x140022968
sub rcx, 2
dec rax
jmp 0x140022942
mov word [rcx + 2], di
jmp 0x140022977
movzx edx, word [rcx]
cmp dx, 0x20
je 0x14002297e
cmp dx, 9
je 0x14002297e
test rax, rax
jne 0x1400229af
jmp 0x140022981
mov word [rcx], di
cmp r11b, 0x69
je 0x1400229ac
cmp r11b, 0x70
je 0x1400229ac
mov r8, qword [rbp + 0x10d68]
lea rdx, [0x1400e5a28]
mov rcx, qword [rbp + 0x10d60]
call fcn.1400395f0
jmp 0x140022a90
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.140023030
test eax, eax
je 0x1400207b4
cmp byte [rbp + 0x10d80], 0
je 0x140022a04
mov rcx, qword [rbp + 0x10d60]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rdi
mov dl, 0x75
call fcn.140023030
test eax, eax
je 0x1400207b4
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x140020888
mov rcx, qword [rbp - 0x78]
test rcx, rcx
jne 0x140022a37
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 0x140022a84
or r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rcx + r8*2], 0
jne 0x140022a40
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.1400200c0
mov rbx, qword [rsp + 0x10e70]
add rsp, 0x10e40
pop rdi
pop rsi
pop rbp
ret