Function at 0x140053600
Capabilities:
Parse credit card information

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
mov rax, qword [0x140412700]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov r15, qword [rbp + 0x68]
mov eax, r8d
xor esi, esi
mov dword [rbp - 0x34], eax
mov qword [rbp - 0x40], rdx
mov r14, r9
mov r8, rdx
mov r12d, ecx
test eax, eax
jne 0x140053662
cmp dword [rbp + 0x70], 0x1a
je 0x14005364b
cmp dword [rbp + 0x70], 0x25
jne 0x140053655
test cl, 0x40
je 0x140053655
mov esi, ecx
and esi, 0x18
or esi, 0x61c6
and esi, ecx
jmp 0x140054a6e
mov r9d, 1
mov al, r9b
mov dword [rbp - 0x44], eax
lea r10d, [r9 + 1]
test r10b, cl
jne 0x140053683
test ecx, 0x1c0
sete al
mov dword [rbp - 0x44], eax
or edx, 0xffffffff
mov cl, sil
mov byte [rbp - 0x48], cl
mov ebx, edx
mov dword [rbp - 0x38], edx
mov edi, edx
mov dword [rbp - 0x30], edx
mov r13d, esi
jmp 0x1400536a5
mov r9d, 1
lea r10d, [r9 + 1]
test al, al
je 0x14005395e
test cl, cl
cmove edi, r13d
test r12b, 4
je 0x140053727
test r14, r14
je 0x14005394f
movsxd rdx, dword [r15]
test edx, edx
je 0x1400536f3
lea rcx, [rdx + rdx*2]
cmp dword [r14 + rcx*4 - 0xc], edi
jg 0x14005394f
test edx, edx
jle 0x1400536f3
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], edi
jne 0x1400536f3
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x14005370a
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 9
je 0x14005394f
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], edi
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], 9
jmp 0x140053806
test r12b, 0x18
je 0x140053798
test r14, r14
je 0x14005394f
movsxd rdx, dword [r15]
test edx, edx
je 0x140053767
lea rcx, [rdx + rdx*2]
cmp dword [r14 + rcx*4 - 0xc], edi
jg 0x14005394f
test edx, edx
jle 0x140053767
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], edi
jne 0x140053767
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x14005377e
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 0xc
je 0x14005394f
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], edi
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], reloc.SHLWAPI.dll_SHCreateMemStream
jmp 0x140053806
test r10b, r12b
je 0x14005381a
test r14, r14
je 0x14005394f
movsxd rdx, dword [r15]
test edx, edx
je 0x1400537d7
lea rcx, [rdx + rdx*2]
cmp dword [r14 + rcx*4 - 0xc], edi
jg 0x14005394f
test edx, edx
jle 0x1400537d7
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], edi
jne 0x1400537d7
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x1400537ee
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 0xd
je 0x14005394f
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], edi
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], InitCommonControls
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 8], r10d
add dword [r15], r9d
jmp 0x14005394f
movsxd rax, edi
movzx ecx, word [r8 + rax*2]
call fcn.14006a0a4
test eax, eax
jne 0x1400538d1
mov r8, qword [rbp - 0x40]
movsxd rax, edi
cmp word [r8 + rax*2], 0x2e
je 0x1400538d1
test r14, r14
je 0x1400538be
movsxd rdx, dword [r15]
test edx, edx
je 0x140053878
lea rcx, [rdx + rdx*2]
cmp dword [r14 + rcx*4 - 0xc], edi
jg 0x1400538be
test edx, edx
jle 0x140053878
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], edi
jne 0x140053874
mov dword [r15], r8d
mov edx, r8d
mov r8, qword [rbp - 0x40]
movsxd rcx, edx
test edx, edx
je 0x14005388b
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 0xb
je 0x1400538be
lea rax, [rcx + rcx*2]
mov r9d, 1
mov dword [r14 + rax*4], edi
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], reloc.OLEAUT32.dll_VariantChangeType
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 8], 2
add dword [r15], r9d
jmp 0x1400538c4
mov r9d, 1
mov byte [rbp - 0x44], r9b
mov byte [rbp - 0x48], r9b
jmp 0x14005395b
test r14, r14
je 0x140053949
movsxd rdx, dword [r15]
test edx, edx
je 0x140053903
lea rcx, [rdx + rdx*2]
cmp dword [r14 + rcx*4 - 0xc], edi
jg 0x140053949
test edx, edx
jle 0x140053903
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], edi
jne 0x140053903
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x140053916
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 3
je 0x140053949
lea rax, [rcx + rcx*2]
mov r9d, 1
mov dword [r14 + rax*4], edi
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], 3
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 8], 2
jmp 0x140053812
mov r9d, 1
mov r8, qword [rbp - 0x40]
mov byte [rbp - 0x44], sil
mov byte [rbp - 0x48], sil
mov edi, dword [rbp - 0x30]
cmp r13d, dword [rbp - 0x34]
jge 0x1400547ae
movsxd rax, r13d
lea rcx, [r8 + rax*2]
mov qword [rbp - 0x30], rcx
cmp word [rcx], si
je 0x1400547ae
mov eax, r12d
mov r10d, 2
and eax, r10d
jne 0x140053ec4
test r12d, 0x1c0
je 0x140053ec4
bt r12d, 8
jae 0x140053a30
lea rdx, str.__script_
call fcn.140278dec
mov ebx, dword [rbp - 0x34]
mov rdi, rax
sub rax, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x30]
sar rax, 1
test rdi, rdi
mov dword [rbp - 0x20], esi
cmovne ebx, eax
movsxd rax, dword [r15]
mov r8d, ebx
btr r12d, 8
sub r8d, r13d
lea rcx, [rax + rax*2]
lea r9, [r14 + rcx*4]
mov ecx, r12d
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
call fcn.140057520
mov edx, dword [r15]
mov r9d, r13d
mov r11d, dword [rbp - 0x20]
mov rcx, r14
mov r12d, eax
lea r8d, [r11 - 1]
add r8d, edx
call fcn.1400535d8
add dword [r15], r11d
mov ecx, 1
mov eax, dword [rbp - 0x44]
test rdi, rdi
movzx eax, al
cmovne eax, ecx
bts r12d, 8
mov dword [rbp - 0x44], eax
jmp 0x140053abc
test r12b, r12b
jns 0x140053acf
lea rdx, str.__style_
call fcn.140278dec
mov ebx, dword [rbp - 0x34]
mov rdi, rax
sub rax, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x30]
sar rax, 1
test rdi, rdi
mov dword [rbp - 0x1c], esi
cmovne ebx, eax
movsxd rax, dword [r15]
mov r8d, ebx
btr r12d, 7
sub r8d, r13d
lea rcx, [rax + rax*2]
lea r9, [r14 + rcx*4]
mov ecx, r12d
lea rax, [rbp - 0x1c]
mov qword [rsp + 0x20], rax
call fcn.14004faf0
mov edx, dword [r15]
mov r9d, r13d
mov r11d, dword [rbp - 0x1c]
mov rcx, r14
mov r12d, eax
lea r8d, [r11 - 1]
add r8d, edx
call fcn.1400535d8
add dword [r15], r11d
mov ecx, 1
movzx eax, byte [rbp - 0x44]
test rdi, rdi
cmovne eax, ecx
bts r12d, 7
mov byte [rbp - 0x44], al
test rdi, rdi
lea r13d, [rbx - 1]
mov ebx, dword [rbp - 0x38]
cmovne r12d, esi
jmp 0x140054773
test r12b, 0x40
je 0x140054773
cmp dword [rbp + 0x70], 0x25
je 0x140053ced
lea rdx, [0x140380c44]
call fcn.140278dec
mov qword [rbp - 0x30], rax
mov rcx, rax
test rax, rax
jne 0x140053b19
mov r8, qword [rbp - 0x40]
lea rdx, [0x140380c4c]
movsxd rax, r13d
lea rcx, [r8 + rax*2]
call fcn.140278dec
mov rcx, rax
mov qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x40]
mov rax, rcx
mov edi, dword [rbp - 0x34]
sub rax, rdx
sar rax, 1
test rcx, rcx
cmovne edi, eax
cmp dword [rbp + 0x70], 4
je 0x140053b4d
cmp dword [rbp + 0x70], 0x1a
lea r10, [0x14005be80]
lea rax, [fcn.140057520]
cmovne r10, rax
jmp 0x140053b54
lea r10, [0x14004d180]
movsxd rax, dword [r15]
mov r8d, edi
and r12d, 0xffffffbf
mov dword [rbp - 0x18], esi
sub r8d, r13d
lea rcx, [rax + rax*2]
movsxd rax, r13d
lea r9, [r14 + rcx*4]
mov ecx, r12d
lea rdx, [rdx + rax*2]
lea rax, [rbp - 0x18]
mov qword [rsp + 0x20], rax
mov rax, r10
call qword [case.0x14001d845.0]
mov edx, dword [r15]
mov r9d, r13d
mov r11d, dword [rbp - 0x18]
mov rcx, r14
mov r12d, eax
lea r8d, [r11 - 1]
add r8d, edx
call fcn.1400535d8
mov edx, dword [r15]
add edx, r11d
mov dword [r15], edx
cmp qword [rbp - 0x30], rsi
jne 0x140053bbe
or r12d, 0x40
inc edi
jmp 0x140053ce4
cmp dword [rbp + 0x70], 0x1a
jne 0x140053cd2
test r12b, 0x1c
je 0x140053cd2
test r12b, 4
je 0x140053c5f
test r14, r14
je 0x140053cc4
test edx, edx
je 0x140053c16
movsxd rax, edx
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4 - 0xc], r13d
jg 0x140053cc4
test edx, edx
jle 0x140053c16
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], r13d
jne 0x140053c16
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x140053c2d
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 9
je 0x140053cc4
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], r13d
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], 9
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 8], 2
mov ecx, 1
add dword [r15], ecx
jmp 0x140053cc9
test r12b, 0x18
je 0x140053cc4
test r14, r14
je 0x140053cc4
test edx, edx
je 0x140053c97
movsxd rax, edx
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4 - 0xc], r13d
jg 0x140053cc4
test edx, edx
jle 0x140053c97
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], r13d
jne 0x140053c97
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x140053caa
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 0xc
je 0x140053cc4
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], r13d
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], reloc.SHLWAPI.dll_SHCreateMemStream
jmp 0x140053c45
mov ecx, 1
add edi, 2
or r12d, 0x40
jmp 0x140053ce1
mov ecx, 1
test r13d, r13d
jle 0x140053cde
add edi, ecx
mov r12d, esi
mov byte [rbp - 0x44], cl
lea r13d, [rdi - 1]
jmp 0x140054773
lea rdx, [0x140380c54]
call fcn.140278dec
mov r10, qword [rbp - 0x40]
mov rcx, rax
mov edx, dword [rbp - 0x34]
sub rcx, r10
sar rcx, 1
test rax, rax
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x14], esi
cmovne edx, ecx
mov dword [rbp - 0x30], edx
test r13d, r13d
jle 0x140053d2e
movsxd rcx, r13d
lea edi, [r13 - 1]
cmp word [r10 + rcx*2 - 2], 0x7b
je 0x140053d31
mov edi, r13d
movsxd rax, dword [r15]
mov r8d, edx
sub r8d, edi
and r12d, 0xffffffbf
inc r8d
lea rcx, [rax + rax*2]
movsxd rax, edi
lea r9, [r14 + rcx*4]
mov ecx, r12d
lea rdx, [r10 + rax*2]
lea rax, [rbp - 0x14]
mov qword [rsp + 0x20], rax
call fcn.1400647f0
mov edx, dword [r15]
mov r9d, edi
mov r11d, dword [rbp - 0x14]
mov rcx, r14
mov r12d, eax
lea r8d, [r11 - 1]
add r8d, edx
call fcn.1400535d8
mov edx, dword [r15]
add edx, r11d
mov dword [r15], edx
cmp qword [rbp - 0x28], rsi
jne 0x140053d99
mov r13d, dword [rbp - 0x30]
or r12d, 0x40
jmp 0x140053ebc
test r12b, 0xc
je 0x140053eaa
test r12b, 4
je 0x140053e30
test r14, r14
je 0x140053e95
test edx, edx
je 0x140053de7
movsxd rax, edx
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4 - 0xc], r13d
jg 0x140053e95
test edx, edx
jle 0x140053de7
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], r13d
jne 0x140053de7
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x140053dfe
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 9
je 0x140053e95
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], r13d
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], 9
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 8], 2
mov ecx, 1
add dword [r15], ecx
jmp 0x140053e9a
test r12b, 0x18
je 0x140053e95
test r14, r14
je 0x140053e95
test edx, edx
je 0x140053e68
movsxd rax, edx
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4 - 0xc], r13d
jg 0x140053e95
test edx, edx
jle 0x140053e68
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], r13d
jne 0x140053e68
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x140053e7b
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 0xc
je 0x140053e95
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], r13d
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], reloc.SHLWAPI.dll_SHCreateMemStream
jmp 0x140053e16
mov ecx, 1
mov r13d, dword [rbp - 0x30]
add r13d, ecx
mov byte [rbp - 0x44], cl
or r12d, 0x40
jmp 0x140053ebc
mov r13d, dword [rbp - 0x30]
mov eax, 1
add r13d, eax
mov byte [rbp - 0x44], al
mov r12d, esi
dec r13d
jmp 0x140054773
test r12b, 8
je 0x140053f31
cmp word [rcx], 0x22
jne 0x140054773
test r13d, r13d
je 0x140053f24
cmp r13d, r9d
jne 0x140053eee
movsxd rax, edi
cmp word [r8 + rax*2], 0x5c
jne 0x140053f24
jmp 0x140054773
cmp r13d, r10d
jl 0x140054773
movsxd rax, edi
lea rdx, [r8 + rax*2]
cmp word [rdx], 0x5c
jne 0x140053f24
mov rax, qword [0x14033fd68]
mov rcx, r8
call qword [case.0x14001d845.0]
cmp word [rax], 0x5c
jne 0x140054773
mov r9d, 1
and r12d, 0xfffffff7
mov byte [rbp - 0x44], r9b
jmp 0x140054773
test r12b, 0x10
je 0x140053f97
cmp word [rcx], 0x27
jne 0x140054773
test r13d, r13d
je 0x140053f91
cmp r13d, r9d
jne 0x140053f5b
movsxd rax, edi
cmp word [r8 + rax*2], 0x5c
jne 0x140053f91
jmp 0x140054773
cmp r13d, r10d
jl 0x140054773
movsxd rax, edi
lea rdx, [r8 + rax*2]
cmp word [rdx], 0x5c
jne 0x140053f91
mov rax, qword [0x14033fd68]
mov rcx, r8
call qword [case.0x14001d845.0]
cmp word [rax], 0x5c
jne 0x140054773
mov r9d, 1
and r12d, 0xffffffef
jmp 0x140053f28
test r12b, 4
je 0x140053fec
cmp r13d, r9d
jle 0x140054773
cmp word [rcx], 0x3e
jne 0x140054773
movsxd rax, edi
lea rdx, [r8 + rax*2]
cmp word [rdx], 0x2d
jne 0x140054773
mov rax, qword [0x14033fd68]
mov rcx, r8
call qword [case.0x14001d845.0]
cmp word [rax], 0x2d
jne 0x140054773
mov eax, 1
and r12d, 0xfffffffb
mov byte [rbp - 0x44], al
jmp 0x140054773
test eax, eax
je 0x14005406b
cmp word [rcx], 0x22
jne 0x14005406b
test r14, r14
je 0x140054062
movsxd rdx, dword [r15]
test edx, edx
je 0x140054028
lea rcx, [rdx + rdx*2]
cmp dword [r14 + rcx*4 - 0xc], r13d
jg 0x140054062
test edx, edx
jle 0x140054028
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], r13d
jne 0x140054028
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x14005403b
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 0xc
je 0x140054062
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], r13d
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], reloc.SHLWAPI.dll_SHCreateMemStream
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 8], r10d
add dword [r15], r9d
or r12d, 8
jmp 0x140054773
test r10b, r12b
je 0x140054117
cmp word [rcx], 0x27
jne 0x140054117
test r13d, r13d
je 0x14005409e
movsxd rcx, edi
movzx ecx, word [r8 + rcx*2]
call fcn.14006a0a4
mov r9d, 1
lea r10d, [r9 + 1]
test eax, eax
jne 0x140054113
test r14, r14
je 0x14005410a
movsxd rdx, dword [r15]
test edx, edx
je 0x1400540d0
lea rcx, [rdx + rdx*2]
cmp dword [r14 + rcx*4 - 0xc], r13d
jg 0x14005410a
test edx, edx
jle 0x1400540d0
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], r13d
jne 0x1400540d0
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x1400540e3
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 0xc
je 0x14005410a
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], r13d
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], reloc.SHLWAPI.dll_SHCreateMemStream
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 8], r10d
add dword [r15], r9d
or r12d, 0x10
jmp 0x140054773
mov r8, qword [rbp - 0x40]
mov edi, dword [rbp - 0x34]
lea eax, [rdi - 3]
cmp r13d, eax
jge 0x1400541de
movsxd rax, r13d
cmp word [r8 + rax*2], 0x3c
jne 0x1400541de
movsxd rax, r13d
cmp word [r8 + rax*2 + 2], 0x21
jne 0x1400541de
movsxd rax, r13d
cmp word [r8 + rax*2 + 4], 0x2d
jne 0x1400541de
movsxd rax, r13d
cmp word [r8 + rax*2 + 6], 0x2d
jne 0x1400541de
test r14, r14
je 0x1400541cd
movsxd rdx, dword [r15]
test edx, edx
je 0x140054193
lea rcx, [rdx + rdx*2]
cmp dword [r14 + rcx*4 - 0xc], r13d
jg 0x1400541cd
test edx, edx
jle 0x140054193
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], r13d
jne 0x140054193
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x1400541a6
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 9
je 0x1400541cd
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], r13d
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], 9
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 8], r10d
add dword [r15], r9d
add r13d, 3
and r12d, 0xfffffffd
or r12d, 4
jmp 0x140054773
movsxd rax, r13d
movzx ecx, word [r8 + rax*2]
cmp cx, 0x3c
jne 0x14005428d
lea eax, [rdi - 1]
cmp r13d, eax
jge 0x14005428d
movsxd rax, r13d
cmp word [r8 + rax*2 + 2], 0x3f
je 0x140054215
mov edx, SafeArrayAllocDescriptorEx
cmp word [r8 + rax*2 + 2], dx
jne 0x14005428d
test r14, r14
je 0x140054281
movsxd rdx, dword [r15]
test edx, edx
je 0x140054247
lea rcx, [rdx + rdx*2]
cmp dword [r14 + rcx*4 - 0xc], r13d
jg 0x140054281
test edx, edx
jle 0x140054247
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], r13d
jne 0x140054247
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x14005425a
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 3
je 0x140054281
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], r13d
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], 3
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 8], r10d
add dword [r15], r9d
or r12d, 0x40
or ebx, 0xffffffff
jmp 0x140054770
cmp dword [rbp + 0x70], 0x25
jne 0x1400542ce
cmp cx, 0x7b
jne 0x1400542ce
test r13d, r13d
jle 0x1400542b4
movsxd rcx, r13d
movzx ecx, word [r8 + rcx*2 - 2]
call fcn.14006a0dc
test eax, eax
je 0x140054281
mov r8, qword [rbp - 0x40]
lea eax, [r13 + 1]
cmp eax, edi
jge 0x1400542ce
movsxd rcx, r13d
movzx ecx, word [r8 + rcx*2 + 2]
call fcn.14006a0dc
test eax, eax
je 0x140054281
test r14, r14
je 0x140054773
mov rdi, qword [rbp - 0x40]
movsxd rcx, r13d
movzx ecx, word [rdi + rcx*2]
call fcn.14006a0a4
test eax, eax
jne 0x140054769
movsxd rax, r13d
cmp word [rdi + rax*2], 0x2e
je 0x140054769
test ebx, ebx
js 0x1400545e3
test r12b, 2
je 0x140054556
mov rcx, qword [rbp - 0x40]
mov edi, r13d
movsxd rax, ebx
sub edi, ebx
mov edx, edi
lea rcx, [rcx + rax*2]
call fcn.14005732c
test al, al
movsxd rax, ebx
je 0x140054427
mov rcx, qword [rbp - 0x40]
cmp word [rcx + rax*2 - 2], 0x3c
je 0x140054349
cmp word [rcx + rax*2 - 2], 0x2f
jne 0x140054427
movsxd rdx, dword [r15]
test edx, edx
je 0x140054376
lea rcx, [rdx + rdx*2]
cmp dword [r14 + rcx*4 - 0xc], ebx
jg 0x1400543b9
test edx, edx
jle 0x140054376
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], ebx
jne 0x140054376
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x140054389
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 7
je 0x1400543b9
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], ebx
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], 7
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov eax, 1
mov dword [r14 + rcx*4 + 8], 2
add dword [r15], eax
cmp dword [rbp + 0x70], 0x25
je 0x1400545ce
mov rdi, qword [rbp - 0x40]
test ebx, ebx
jle 0x1400545d2
movsxd rax, ebx
lea rdx, [0x140380c58]
mov r8d, 7
lea rbx, [rdi + rax*2]
lea rcx, [rbx - 2]
call fcn.14028f330
test eax, eax
jne 0x1400543fa
bts r12d, 8
jmp 0x1400545d2
mov r8d, 6
lea rdx, str._style
lea rcx, [rbx - 2]
call fcn.14028f330
mov ecx, 1
test eax, eax
jne 0x1400545d7
bts r12d, 7
jmp 0x1400545d7
mov r8, qword [rbp - 0x40]
mov edx, edi
lea rcx, [r8 + rax*2]
call fcn.140057358
test al, al
je 0x1400544bf
movsxd rdx, dword [r15]
test edx, edx
je 0x14005446f
lea rcx, [rdx + rdx*2]
cmp dword [r14 + rcx*4 - 0xc], ebx
jg 0x1400545ce
test edx, edx
jle 0x14005446f
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], ebx
jne 0x14005446f
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x140054486
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 0x14
je 0x1400545ce
mov rdi, qword [rbp - 0x40]
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], ebx
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], reloc.OLEAUT32.dll_SafeArrayLock
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 8], 2
mov ecx, 1
add dword [r15], ecx
jmp 0x1400545d7
mov edx, edi
movsxd rcx, ebx
mov rdi, qword [rbp - 0x40]
lea rcx, [rdi + rcx*2]
call fcn.140057438
test al, al
je 0x1400545e3
movsxd rdx, dword [r15]
test edx, edx
je 0x14005450a
lea rcx, [rdx + rdx*2]
cmp dword [r14 + rcx*4 - 0xc], ebx
jg 0x1400545d2
test edx, edx
jle 0x14005450a
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], ebx
jne 0x14005450a
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x140054521
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 0xa
je 0x1400545d2
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], ebx
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], 0xa
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 8], 2
mov ecx, 1
add dword [r15], ecx
jmp 0x1400545d7
test r12b, 0x20
je 0x1400545d2
movsxd rax, ebx
mov edx, r13d
sub edx, ebx
lea rcx, [rdi + rax*2]
call fcn.140057384
test al, al
je 0x1400545e3
movsxd rdx, dword [r15]
test edx, edx
je 0x14005459e
lea rcx, [rdx + rdx*2]
cmp dword [r14 + rcx*4 - 0xc], ebx
jg 0x1400545d2
test edx, edx
jle 0x14005459e
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], ebx
jne 0x14005459e
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x1400545b1
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 0x15
je 0x1400545d2
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], ebx
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], SafeArrayGetElement
jmp 0x140054539
mov rdi, qword [rbp - 0x40]
mov ecx, 1
or ebx, 0xffffffff
mov byte [rbp - 0x44], cl
mov dword [rbp - 0x38], ebx
mov byte [rbp - 0x48], cl
movsxd rax, r13d
movzx ecx, word [rdi + rax*2]
cmp cx, 0x3c
jne 0x140054727
mov eax, dword [rbp - 0x34]
add eax, 0xfffffffd
cmp r13d, eax
jge 0x140054624
movsxd rax, r13d
cmp word [rdi + rax*2 + 2], 0x21
jne 0x140054624
movsxd rax, r13d
cmp word [rdi + rax*2 + 4], 0x2d
jne 0x140054624
movsxd rax, r13d
cmp word [rdi + rax*2 + 6], 0x2d
je 0x140054727
movsxd rdx, dword [r15]
test edx, edx
je 0x140054636
lea rcx, [rdx + rdx*2]
cmp dword [r14 + rcx*4 - 0xc], r13d
jg 0x1400546a1
mov r8d, edx
test edx, edx
jle 0x140054657
lea r9d, [rdx - 1]
movsxd rax, r9d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], r13d
jne 0x140054657
mov dword [r15], r9d
mov r8d, r9d
mov edx, r9d
movsxd rcx, r8d
test r8d, r8d
je 0x14005466b
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 0xb
je 0x1400546a1
lea rax, [rcx + rcx*2]
mov r9d, 1
mov dword [r14 + rax*4], r13d
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], reloc.OLEAUT32.dll_VariantChangeType
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 8], 2
add dword [r15], r9d
mov edx, dword [r15]
jmp 0x1400546a7
mov r9d, 1
test edx, edx
je 0x1400546dc
movsxd rax, edx
lea rcx, [rax + rax*2]
lea eax, [r13 + 1]
cmp dword [r14 + rcx*4 - 0xc], eax
jg 0x14005471e
test edx, edx
jle 0x1400546dc
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
lea eax, [r13 + 1]
cmp dword [r14 + rcx*4], eax
jne 0x1400546dc
mov dword [r15], r8d
mov edx, r8d
movsxd r8, edx
test edx, edx
je 0x1400546ef
lea rax, [r8 + r8*2]
cmp dword [r14 + rax*4 - 8], 0xd
je 0x14005471e
lea ecx, [r13 + 1]
lea rax, [r8 + r8*2]
mov dword [r14 + rax*4], ecx
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], InitCommonControls
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 8], 2
add dword [r15], r9d
or r12d, 2
jmp 0x140054285
test r12b, 2
je 0x140054745
cmp cx, 0x3e
jne 0x140054745
and r12d, 0xfffffffd
or ebx, 0xffffffff
lea eax, [rbx + 2]
mov byte [rbp - 0x44], al
mov byte [rbp - 0x48], al
jmp 0x140054770
cmp cx, 0x26
jne 0x140054754
or r12d, 0x20
jmp 0x140054285
test r12b, 0x20
je 0x140054773
cmp cx, 0x3b
jne 0x140054773
and r12d, 0xffffffdf
jmp 0x140054285
cmp ebx, 0xffffffff
cmove ebx, r13d
mov dword [rbp - 0x38], ebx
mov rcx, qword [rbp - 0x40]
mov edi, r13d
movsxd rax, r13d
mov dword [rbp - 0x30], r13d
lea rcx, [rcx + rax*2]
mov rax, qword [0x14033fd70]
call qword [case.0x14001d845.0]
mov r8, qword [rbp - 0x40]
mov r13, rax
mov eax, dword [rbp - 0x44]
sub r13, r8
mov cl, byte [rbp - 0x48]
sar r13, 1
cmp r13d, edi
jne 0x14005369b
test ebx, ebx
js 0x140054a4d
test r12b, 2
je 0x140054a4d
movsxd rax, ebx
sub r13d, ebx
mov edx, r13d
lea rdi, [r8 + rax*2]
mov rcx, rdi
call fcn.14005732c
test al, al
je 0x1400548d2
cmp word [rdi - 2], 0x3c
je 0x1400547ef
cmp word [rdi - 2], 0x2f
jne 0x1400548d2
test r14, r14
je 0x140054864
movsxd rdx, dword [r15]
test edx, edx
je 0x140054821
lea rcx, [rdx + rdx*2]
cmp dword [r14 + rcx*4 - 0xc], ebx
jg 0x140054864
test edx, edx
jle 0x140054821
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], ebx
jne 0x140054821
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x140054834
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 7
je 0x140054864
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], ebx
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], 7
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov eax, 1
mov dword [r14 + rcx*4 + 8], 2
add dword [r15], eax
cmp dword [rbp + 0x70], 0x25
je 0x140054a59
test ebx, ebx
jle 0x140054a4d
mov rdi, qword [rbp - 0x40]
lea rdx, [0x140380c58]
movsxd rax, ebx
mov r8d, 7
dec rax
lea rcx, [rdi + rax*2]
call fcn.14028f330
test eax, eax
jne 0x1400548a4
bts r12d, 8
jmp 0x140054a4d
movsxd rax, ebx
lea rdx, str._style
dec rax
mov r8d, 6
lea rcx, [rdi + rax*2]
call fcn.14028f330
test eax, eax
jne 0x140054a4d
bts r12d, 7
jmp 0x140054a4d
mov edx, r13d
mov rcx, rdi
call fcn.140057358
test al, al
je 0x14005494f
test r14, r14
je 0x140054a4d
movsxd rdx, dword [r15]
test edx, edx
je 0x14005491b
lea rcx, [rdx + rdx*2]
cmp dword [r14 + rcx*4 - 0xc], ebx
jg 0x140054a4d
test edx, edx
jle 0x14005491b
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], ebx
jne 0x14005491b
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x140054932
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 0x14
je 0x140054a4d
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], ebx
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], reloc.OLEAUT32.dll_SafeArrayLock
jmp 0x140054a35
mov edx, r13d
mov rcx, rdi
call fcn.140057384
test al, al
je 0x1400549c9
test r14, r14
je 0x140054a4d
movsxd rdx, dword [r15]
test edx, edx
je 0x140054998
lea rcx, [rdx + rdx*2]
cmp dword [r14 + rcx*4 - 0xc], ebx
jg 0x140054a4d
test edx, edx
jle 0x140054998
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], ebx
jne 0x140054998
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x1400549af
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 0x15
je 0x140054a4d
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], ebx
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], SafeArrayGetElement
jmp 0x140054a35
mov edx, r13d
mov rcx, rdi
call fcn.140057438
test al, al
je 0x140054a4d
test r14, r14
je 0x140054a4d
movsxd rdx, dword [r15]
test edx, edx
je 0x140054a0a
lea rcx, [rdx + rdx*2]
cmp dword [r14 + rcx*4 - 0xc], ebx
jg 0x140054a4d
test edx, edx
jle 0x140054a0a
lea r8d, [rdx - 1]
movsxd rax, r8d
lea rcx, [rax + rax*2]
cmp dword [r14 + rcx*4], ebx
jne 0x140054a0a
mov dword [r15], r8d
mov edx, r8d
movsxd rcx, edx
test edx, edx
je 0x140054a1d
lea rax, [rcx + rcx*2]
cmp dword [r14 + rax*4 - 8], 0xa
je 0x140054a4d
lea rax, [rcx + rcx*2]
mov dword [r14 + rax*4], ebx
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov dword [r14 + rcx*4 + 4], 0xa
movsxd rax, dword [r15]
lea rcx, [rax + rax*2]
mov eax, 1
mov dword [r14 + rcx*4 + 8], 2
add dword [r15], eax
cmp dword [rbp + 0x70], 0x1a
je 0x140054a59
cmp dword [rbp + 0x70], 0x25
jne 0x140054a65
test r12b, 0x40
je 0x140054a65
mov esi, r12d
and esi, 0x10
or esi, 0x61ce
and esi, r12d
mov eax, esi
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1402194b0
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret