Function at 0x14004d3d0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xca8
lea rbp, [rsp + 0x40]
movzx r11d, r8b
movzx esi, r8b
mov dword [rbp], r11d
mov rdi, r9
mov r14, rdx
mov rbx, rcx
mov r13, 0xffffffffffffffff
inc r13
cmp word [rdx + r13*2], 0
jne 0x14004d413
mov eax, SafeArrayAllocDescriptor
test r11b, r11b
je 0x14004d44c
xor r8d, r8d
mov qword [rbp + 0xcd0], r14
mov word [rbp + 0x160], r8w
mov r12d, r8d
mov byte [rbp + 0xcc0], r8b
mov r10, r14
jmp 0x14004e2b2
mov r8d, 6
lea rdx, [0x1400fd360]
mov rcx, r14
call fcn.1400bec00
lea rdx, [0x1400fd350]
mov ecx, 5
test eax, eax
jne 0x14004d477
lea r12d, [rcx + 0x3c]
jmp 0x14004d4b2
mov r8, rcx
mov rcx, r14
call fcn.1400bec00
test eax, eax
jne 0x14004d491
mov eax, 0xa
lea r12d, [rax + 0x38]
jmp 0x14004d4b7
mov r8d, 6
lea rdx, [0x1400fd328]
mov rcx, r14
call fcn.1400bec00
test eax, eax
jne 0x14004da3d
lea r12d, [rax + 0x62]
mov eax, reloc.WSOCK32.dll_ioctlsocket
lea rdi, [rax + r14]
movzx eax, word [rax + r14]
test ax, ax
je 0x14004d9f4
cmp ax, 0x20
je 0x14004d4ec
cmp ax, 9
jne 0x14004da36
nop dword [rax]
cmp ax, 0x20
je 0x14004d4ec
cmp ax, 9
jne 0x14004d4f6
movzx eax, word [rdi + 2]
add rdi, 2
jmp 0x14004d4e0
test ax, ax
je 0x14004d9f4
cmp ax, 0x7f
ja 0x14004d51b
movzx ecx, ax
call fcn.1400c3610
test eax, eax
jne 0x14004d51b
cmp word [rdi], 0x5f
jne 0x14004da36
mov rax, qword [0x14011c188]
cmp qword [rax + 0x28], 0
jne 0x14004d533
test r12b, 2
jne 0x14004da1f
mov rax, qword [rbx + 0x78]
xor r13b, r13b
cmp word [rdi], 0
mov qword [rbp + 0x10], rax
je 0x14004da15
mov r15d, r12d
and r15d, 1
mov dword [rbp], r15d
xor r14d, r14d
lea rbx, [rdi + 2]
nop word [rax + rax]
movzx eax, word [rbx]
cmp eax, 0x7f
ja 0x14004d579
mov ecx, eax
call fcn.1400c3610
test eax, eax
jne 0x14004d579
cmp word [rbx], 0x5f
jne 0x14004d57f
add rbx, 2
jmp 0x14004d560
mov rsi, rbx
sub rsi, rdi
sar rsi, 1
test r15d, r15d
je 0x14004d5ae
mov rcx, qword [rbp + 0xcb0]
mov r9d, r12d
mov r8, rsi
mov rdx, rdi
call fcn.140053950
mov r14, rax
test rax, rax
je 0x14004d6a5
mov rcx, qword [0x14011c188]
cmp qword [rcx + 0x28], 0
je 0x14004d660
mov rcx, qword [rbp + 0xcb0]
mov r9d, r12d
mov eax, SafeArrayAllocDescriptor
mov dword [rbp + 0xcc0], 1
test r14, r14
mov r8, rsi
mov rdx, rdi
cmovne r9d, eax
lea rax, [rbp + 0xcc0]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xcd0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 8]
mov qword [rsp + 0x20], rax
call fcn.140053a20
mov r15, rax
test rax, rax
jne 0x14004d643
cmp dword [rbp + 0xcc0], eax
je 0x14004d6a5
test r14, r14
je 0x14004d675
mov r8d, dword [rbp + 0xcd0]
mov rdx, r14
mov rcx, qword [rbp + 8]
call fcn.14005fae0
test eax, eax
je 0x14004d955
mov r15, r14
mov rsi, qword [rbp + 0xcb0]
movzx eax, byte [r15 + 0x22]
cmp eax, r12d
jne 0x14004d974
mov r15d, dword [rbp]
nop dword [rax]
movzx edx, word [rbx]
cmp dx, 0x20
je 0x14004d66f
cmp dx, 9
jne 0x14004d6bb
add rbx, 2
jmp 0x14004d660
mov eax, dword [rbp + 0xcd0]
mov r8, rsi
mov rsi, qword [rbp + 0xcb0]
mov rdx, rdi
mov r9, qword [rbp + 8]
mov rcx, rsi
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
call fcn.1400542a0
mov r15, rax
test rax, rax
jne 0x14004d64a
xor eax, eax
lea rsp, [rbp + 0xc68]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test dx, dx
je 0x14004d901
cmp dx, 0x2c
je 0x14004d93a
cmp dx, 0x3a
jne 0x14004d6e1
cmp word [rbx + 2], 0x3d
jne 0x14004d6e1
add rbx, 4
jmp 0x14004d746
lea rcx, [0x140103360]
call fcn.1400ba088
test rax, rax
je 0x14004d6f9
cmp word [rbx + 2], 0x3d
je 0x14004d746
movzx edx, word [rbx]
lea rcx, [0x140103378]
call fcn.1400ba088
test rax, rax
je 0x14004d9d9
movzx ecx, word [rbx]
cmp word [rbx + 2], cx
jne 0x14004d9d9
movzx eax, word [rbx + 4]
cmp ax, 0x3d
je 0x14004d746
cmp cx, 0x3e
jne 0x14004d9d9
cmp ax, cx
jne 0x14004d9d9
cmp word [rbx + 6], 0x3d
jne 0x14004d9d9
xor r8d, r8d
nop dword [rax]
movsxd rax, r8d
movzx r9d, word [rbx + rax*2]
cmp r9d, 0x2c
je case.0x14004d78b.0
lea edx, [r8 + 1]
cmp r9d, 0x7d
ja case.0x14004d78b.1
lea r10, [0x140000000]
movzx eax, byte [r10 + r9 + 0x4ee38]
mov ecx, dword [r10 + rax*4 + 0x4ee14]
add rcx, r10
jmp rcx
movsxd rcx, r8d
inc rcx
movzx eax, word [rbx + rcx*2]
lea rcx, [rbx + rcx*2]
cmp ax, r9w
je 0x14004d7c9
test ax, ax
je 0x14004d7c9
cmp ax, 0x60
jne 0x14004d7b9
cmp word [rcx + 2], 0
je 0x14004d7b9
inc edx
add rcx, 2
movzx eax, word [rcx + 2]
add rcx, 2
inc edx
cmp ax, r9w
jne 0x14004d7a1
movsxd rax, edx
mov r8d, edx
cmp word [rbx + rax*2], 0
je 0x14004d835
inc r8d
jmp 0x14004d750
movsxd rax, r8d
cmp word [rbx + rax*2 + 2], 0x3f
jne case.0x14004d78b.1
mov r8d, edx
inc r8d
jmp 0x14004d750
mov eax, 0x25
jmp 0x14004d80e
mov eax, 0x29
jmp 0x14004d80e
mov eax, 0x5d
jmp 0x14004d80e
mov eax, 0x7d
mov r8d, edx
xor r9d, r9d
movzx edx, ax
mov rcx, rbx
call fcn.14009d4f0
movsxd r8, eax
cmp word [rbx + r8*2], 0
je case.0x14004d78b.0
inc r8d
jmp 0x14004d750
mov edx, r8d
movsxd rax, edx
lea rsi, [rbx + rax*2]
lea rbx, [rsi - 2]
cmp rbx, rdi
jbe 0x14004d85d
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14004d854
cmp ax, 9
jne 0x14004d85d
sub rbx, 2
cmp rbx, rdi
ja 0x14004d845
movzx r14d, word [rbx + 2]
xor ecx, ecx
mov word [rbx + 2], cx
cmp qword [rbp + 0x10], rcx
je 0x14004d89d
test r13b, r13b
jne 0x14004d89d
mov byte [rsp + 0x28], cl
xor r9d, r9d
mov qword [rsp + 0x20], rcx
xor r8d, r8d
mov rcx, qword [rbp + 0xcb0]
mov dl, 3
call fcn.14004f190
test eax, eax
je 0x14004d6a5
mov r13b, 1
xor ecx, ecx
mov r8d, ecx
mov qword [rsp + 0x20], rcx
mov rcx, qword [rbp + 0xcb0]
mov edx, 5
cmp r12d, 0x62
cmove r8d, edx
xor r9d, r9d
mov rdx, rdi
call fcn.14004d3d0
test eax, eax
je 0x14004d6a5
mov word [rbx + 2], r14w
movzx eax, word [rsi]
cmp ax, 0x2c
jne 0x14004d8f5
lea rdi, [rsi + 2]
nop
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14004d8ef
cmp ax, 9
jne 0x14004d8f8
add rdi, 2
jmp 0x14004d8e0
mov rdi, rsi
test ax, ax
jne 0x14004d553
test r13b, r13b
je 0x14004da15
mov rcx, qword [rbp + 0xcb0]
xor r8d, r8d
mov byte [rsp + 0x28], 0
xor r9d, r9d
mov dl, 4
mov qword [rsp + 0x20], r8
call fcn.14004f190
test eax, eax
je 0x14004d6a5
mov eax, 1
jmp 0x14004d6a7
lea rdi, [rbx + 2]
nop
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14004d94f
cmp ax, 9
jne 0x14004d8f8
add rdi, 2
jmp 0x14004d940
mov rcx, qword [rbp + 0xcb0]
lea r8, [0x1400f9b70]
lea rdx, [0x1400fd9b0]
call fcn.140010930
jmp 0x14004d6a7
test r12b, 2
je 0x14004d992
test r12b, 0x20
lea rbx, [0x1400fd328]
lea rax, [0x1400fd350]
cmove rbx, rax
jmp 0x14004d999
lea rbx, [0x1400fd360]
mov rcx, r15
call fcn.140010af0
mov r9, rbx
mov qword [rsp + 0x20], rax
lea r8, [0x1400fd860]
mov edx, 0x7f
lea rcx, [rbp + 0x360]
call fcn.14009abe0
mov r8, qword [r15 + 0x28]
lea rdx, [rbp + 0x360]
mov rcx, rsi
call fcn.140010930
jmp 0x14004d6a7
mov rcx, qword [rbp + 0xcb0]
lea rdx, [0x140103380]
mov r8, rdi
call fcn.140010930
jmp 0x14004d6a7
cmp byte [rbx + 0x88], 0
je 0x14004da1f
cmp r12d, 0x42
je 0x14004da1f
mov rax, qword [0x14011c188]
mov rcx, qword [rax + 0x28]
mov byte [rcx + 0xbe], r12b
mov eax, 1
jmp 0x14004d6a7
mov r8, r14
lea rdx, [0x140103330]
mov rcx, rbx
call fcn.140010930
jmp 0x14004d6a7
mov rdi, qword [rbp + 0xcc8]
mov r12, r14
movzx eax, word [r12]
cmp eax, 0x7f
ja 0x14004da5d
mov ecx, eax
call fcn.1400c3610
test eax, eax
jne 0x14004da5d
cmp word [r12], 0x5f
jne 0x14004da63
add r12, 2
jmp 0x14004da40
mov rbx, r12
sub rbx, r14
sar rbx, 1
lea rax, [rbx - 1]
cmp rax, 0xfc
ja 0x14004dae8
mov r8, rbx
lea rcx, [rbp + 0x160]
mov rdx, r14
call fcn.1400cd4c4
xor eax, eax
mov r10, r12
mov word [rbp + rbx*2 + 0x160], ax
nop word [rax + rax]
movzx ecx, word [r10]
cmp cx, 0x20
je 0x14004dab0
cmp cx, 9
jne 0x14004dab6
add r10, 2
jmp 0x14004daa0
movzx eax, word [r12]
mov qword [rbp + 0xcd0], r10
cmp eax, 0x28
ja 0x14004dafe
movabs rdx, 0x10100000201
bt rdx, rax
jae 0x14004dafe
cmp cx, 0x3d
je 0x14004dafe
cmp cx, 0x3a
je 0x14004dafe
mov r15b, 1
jmp 0x14004db01
xor edx, edx
mov qword [rbp + 0xcd0], r14
mov word [rbp + 0x160], dx
mov r12d, edx
mov r10, r14
xor r15b, r15b
movzx r9d, word [r14]
mov byte [rbp + 0xcc0], 0
cmp r9w, 0x22
je 0x14004db1a
cmp r9w, 0x27
jne 0x14004db86
mov r8d, 1
lea rax, [r14 + 2]
lea rcx, [rdi + 2]
nop dword [rax + rax]
movzx edx, word [rax]
cmp dx, r9w
jne 0x14004dbc5
test rdi, rdi
je 0x14004db4c
cmp word [rcx], 0
jne 0x14004dbe6
movsxd rax, r8d
cmp word [r14 + rax*2], 0
lea r10, [r14 + rax*2]
mov qword [rbp + 0xcd0], r10
je 0x14004db86
movzx eax, word [r10 + 2]
add r10, 2
cmp ax, 0x20
je 0x14004db62
cmp ax, 9
je 0x14004db62
cmp ax, 0x2e
cmovne r10, r14
mov qword [rbp + 0xcd0], r10
movzx r9d, word [r10]
lea rbx, [r10 + 2]
movzx edx, word [rbx]
lea rdi, [0x140000000]
mov r14d, 8
lea eax, [r9 - 0x26]
cmp eax, 0x56
ja case.0x14004dbc3.45
cdqe
lea r8d, [r14 - 6]
movzx eax, byte [rdi + rax + 0x4eed8]
mov ecx, dword [rdi + rax*4 + 0x4eeb8]
add rcx, rdi
jmp rcx
test dx, dx
je 0x14004db4c
cmp dx, 0x60
jne 0x14004dbe6
test rdi, rdi
jne 0x14004dbe6
cmp word [rax + 2], di
je 0x14004dbe6
inc r8d
add rcx, 2
add rax, 2
inc r8d
add rcx, 2
add rax, 2
jmp 0x14004db30
cmp dx, 0x3d
jne case.0x14004dbc3.45
cmp word [r10 + 4], 0
sete r11b
inc r11b
jmp 0x14004dc46
test r12, r12
jne 0x14004dc1a
cmp dx, r9w
je case.0x14004dbc3.44
cmp dx, 0x3d
jne case.0x14004dbc3.45
mov r15, qword [rbp + 0xcb8]
movzx r11d, r8b
mov dword [rbp], r11d
mov rsi, r15
jmp 0x14004e43f
cmp dx, 0x3d
mov r11d, r8d
cmovne r11d, esi
mov dword [rbp], r11d
test r11b, r11b
je 0x14004df80
cmp r11b, 1
jne 0x14004dd8b
nop dword [rax]
movsxd rax, r8d
movzx r9d, word [r10 + rax*2]
cmp r9d, 0x2c
je case.0x14004dc93.0
lea edx, [r8 + 1]
cmp r9d, 0x7d
ja case.0x14004dc93.4
movzx eax, byte [rdi + r9 + 0x4ef54]
mov ecx, dword [rdi + rax*4 + 0x4ef30]
add rcx, rdi
jmp rcx
movsxd rcx, r8d
inc rcx
movzx eax, word [r10 + rcx*2]
lea rcx, [r10 + rcx*2]
cmp ax, r9w
je 0x14004dcd8
nop word [rax + rax]
test ax, ax
je 0x14004dcd8
cmp ax, 0x60
jne 0x14004dcc8
cmp word [rcx + 2], 0
je 0x14004dcc8
inc edx
add rcx, 2
movzx eax, word [rcx + 2]
add rcx, 2
inc edx
cmp ax, r9w
jne 0x14004dcb0
movsxd rax, edx
mov r8d, edx
cmp word [r10 + rax*2], 0
je 0x14004dd4d
inc r8d
jmp 0x14004dc60
movsxd rax, r8d
cmp word [r10 + rax*2 + 2], 0x3f
jne case.0x14004dc93.4
mov r8d, edx
inc r8d
jmp 0x14004dc60
mov eax, 0x25
jmp 0x14004dd1f
mov eax, 0x29
jmp 0x14004dd1f
mov eax, 0x5d
jmp 0x14004dd1f
mov eax, 0x7d
mov r8d, edx
xor r9d, r9d
movzx edx, ax
mov rcx, r10
call fcn.14009d4f0
mov r10, qword [rbp + 0xcd0]
movsxd r8, eax
cmp word [r10 + r8*2], 0
je case.0x14004dc93.0
inc r8d
jmp 0x14004dc60
mov edx, r8d
mov r15, qword [rbp + 0xcb8]
xor r8d, r8d
movsxd rax, edx
mov r14d, 0x2c
mov rsi, r15
cmp word [r10 + rax*2], r8w
je 0x14004dd76
mov r11b, 2
mov dword [rbp], r11d
jmp 0x14004e448
mov r11d, dword [rbp]
mov eax, SafeArrayAllocDescriptor
mov word [rbx], ax
mov word [r10], r14w
jmp 0x14004e448
mov r15, qword [rbp + 0xcb8]
xor r8d, r8d
mov r10, r15
mov qword [rbp + 0xcd0], r15
mov dword [rbp], r11d
lea eax, [r8 + 0x20]
jmp 0x14004e2b9
cmp dx, 0x3d
je case.0x14004dbc3.44
cmp dx, 0x2f
jne case.0x14004dbc3.45
cmp word [r10 + 4], 0x3d
jne case.0x14004dbc3.45
mov r15, qword [rbp + 0xcb8]
movzx r11d, r8b
mov dword [rbp], r11d
mov rsi, r15
jmp 0x14004e43f
cmp dx, r9w
jne case.0x14004dbc3.45
movzx eax, word [r10 + 4]
cmp ax, 0x3d
je case.0x14004dbc3.44
cmp dx, 0x3e
jne case.0x14004dbc3.45
cmp ax, dx
jne case.0x14004dbc3.45
cmp word [r10 + 6], 0x3d
jne case.0x14004dbc3.45
mov r15, qword [rbp + 0xcb8]
movzx r11d, r8b
mov dword [rbp], r11d
mov rsi, r15
jmp 0x14004e43f
cmp dx, 0x3d
jne 0x14004de50
mov r15, qword [rbp + 0xcb8]
movzx r11d, r8b
mov dword [rbp], r11d
mov rsi, r15
jmp 0x14004e43f
mov rdi, rbx
movzx eax, word [rdi]
cmp eax, 0x7f
ja 0x14004de6f
mov ecx, eax
call fcn.1400c3610
test eax, eax
jne 0x14004de6f
movzx ecx, word [rdi]
cmp cx, 0x5f
jne 0x14004de75
add rdi, 2
jmp 0x14004de53
cmp cx, 0x28
je 0x14004e0fb
cmp cx, 0x25
je 0x14004e0fb
cmp rdi, rbx
je 0x14004df6e
cmp cx, 0x20
je 0x14004dea3
cmp cx, 9
je 0x14004dea3
xor sil, sil
jmp 0x14004dea6
mov sil, 1
mov rbx, rdi
nop dword [rax]
cmp cx, 0x20
je 0x14004debc
cmp cx, 9
jne 0x14004dec6
movzx ecx, word [rbx + 2]
add rbx, 2
jmp 0x14004deb0
test cx, cx
je 0x14004df50
cmp cx, 0x5b
je 0x14004e0fb
cmp word [rbx + 2], 0x3d
jne 0x14004def8
movzx edx, cx
lea rcx, [0x1401033c0]
call fcn.1400ba088
test rax, rax
jne 0x14004e0fb
movzx ecx, word [rbx]
cmp word [rbx + 2], cx
jne 0x14004df50
movzx edx, cx
lea rcx, [0x140103378]
call fcn.1400ba088
test rax, rax
je 0x14004df20
cmp word [rbx + 4], 0x3d
je 0x14004e0fb
movzx ecx, word [rbx]
mov edx, 0xfffd
lea eax, [rcx - 0x2b]
test dx, ax
je 0x14004e0fb
cmp cx, 0x3e
jne 0x14004df50
cmp word [rbx + 4], cx
jne 0x14004df64
cmp word [rbx + 6], 0x3d
mov ecx, 0x3e
je 0x14004e0fb
cmp cx, 0x2e
jne 0x14004df5f
add rbx, 2
jmp 0x14004de50
test cx, cx
je 0x14004df69
test sil, sil
je 0x14004df6e
mov r12, rdi
jmp 0x14004df89
mov r10, qword [rbp + 0xcd0]
lea rdi, [0x140000000]
mov r11d, dword [rbp]
test r15b, r15b
je 0x14004e038
mov ebx, r14d
lea rdi, [0x140000000]
nop dword [rax]
nop word [rax + rax]
movsxd rax, ebx
lea rcx, [rbp + 0x160]
lea rdx, [rax + rax*4]
mov rdx, qword [rdi + rdx*2 + 0x11c1b0]
call fcn.1400bea20
test eax, eax
je 0x14004dfc8
inc ebx
cmp ebx, 0x1b
jle 0x14004dfa0
jmp 0x14004dfd8
movzx r11d, bl
mov dword [rbp], r11d
test bl, bl
jne 0x14004e2a3
movzx ecx, word [r12]
cmp cx, 0x28
je 0x14004e041
movzx eax, word [rbp + 0x160]
sub ax, 0x30
cmp ax, 9
jbe 0x14004e041
mov r15, qword [rbp + 0xcb8]
mov eax, 0x28
test cx, cx
je 0x14004e00c
mov word [r12], ax
jmp 0x14004e014
mov word [r15 + r13*2], ax
inc r13
mov eax, 0x29
mov r11b, 2
mov word [r15 + r13*2], ax
mov rsi, r15
inc r13
mov dword [rbp], r11d
xor r8d, r8d
mov word [r15 + r13*2], r8w
jmp 0x14004e442
test r11b, r11b
jne 0x14004e2aa
mov rsi, qword [rbp + 0xcd0]
movzx eax, word [rsi]
cmp ax, 0x7b
jne 0x14004e111
nop word [rax + rax]
movsxd rax, r14d
lea rcx, [rbp + 0x160]
lea rdx, [rax + rax*4]
mov rdx, qword [rdi + rdx*2 + 0x11c1b0]
call fcn.1400bea20
test eax, eax
je 0x14004e08b
inc r14d
cmp r14d, 0x1b
jle 0x14004e060
xor r14b, r14b
movzx eax, r14b
add eax, 0xfffffff7
cmp eax, 0x11
ja case.0x14004e0ab.11
cdqe
movzx eax, byte [rdi + rax + 0x4efe0]
mov ecx, dword [rdi + rax*4 + 0x4efd4]
add rcx, rdi
jmp rcx
cmp word [rsi + 2], 0
jne case.0x14004e0ab.11
movzx r11d, r14b
mov dword [rbp], r11d
test r14b, r14b
jne 0x14004e438
movzx edx, word [rsi]
lea rcx, [0x140102778]
call fcn.1400ba088
test rax, rax
je 0x14004e1d0
movzx ecx, word [rsi]
mov edx, 0xfffd
lea eax, [rcx - 0x2b]
test dx, ax
jne 0x14004e196
cmp word [rsi + 2], cx
jne 0x14004e196
mov r15, qword [rbp + 0xcb8]
mov r11b, 2
mov dword [rbp], r11d
mov rsi, r15
jmp 0x14004e43f
cmp ax, 0x3a
jne case.0x14004e0ab.11
lea rdx, [0x1400ff9c0]
lea rcx, [rbp + 0x160]
call fcn.1400bea20
test eax, eax
jne case.0x14004e0ab.11
mov rdi, qword [rbp + 0xcb0]
xor ebx, ebx
mov byte [rsp + 0x28], al
mov rcx, rdi
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov dl, reloc.OLEAUT32.dll_DispGetParam
call fcn.14004f190
test eax, eax
je 0x14004d6a5
lea rdx, [rsi + 2]
nop dword [rax]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14004e16f
cmp ax, 9
jne 0x14004e175
add rdx, 2
jmp 0x14004e160
test ax, ax
je 0x14004da15
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov rcx, rdi
call fcn.14004d3d0
jmp 0x14004d6a7
mov edx, 0x3f
mov rcx, rsi
call fcn.1400ba088
test rax, rax
je 0x14004e1d0
mov edx, 0x3a
mov rcx, rax
call fcn.1400ba088
test rax, rax
je 0x14004e1d0
mov r15, qword [rbp + 0xcb8]
mov r11b, 2
mov dword [rbp], r11d
mov rsi, r15
jmp 0x14004e43f
test r12, r12
je 0x14004e1ee
movzx eax, word [r12]
cmp ax, 0x28
je 0x14004e28d
cmp ax, 0x5b
je 0x14004e28d
movzx eax, word [rsi]
mov r15, qword [rbp + 0xcb8]
cmp ax, 0x25
je 0x14004e294
cmp word [r15], 0x28
je 0x14004e294
cmp ax, 0x3d
jne 0x14004e234
cmp word [rsi + 2], ax
je 0x14004e255
mov rcx, qword [rbp + 0xcb0]
lea rdx, [0x1401033e0]
mov r8, r15
call fcn.140010930
jmp 0x14004d6a7
cmp ax, 0x2c
jne 0x14004e255
mov rcx, qword [rbp + 0xcb0]
lea rdx, [0x140103430]
mov r8, r15
call fcn.140010930
jmp 0x14004d6a7
lea rdx, [0x140102850]
mov rcx, r15
call fcn.1400baa58
test rax, rax
lea rcx, [0x1400ff328]
lea rdx, [0x140102ce0]
mov r8, r15
cmovne rdx, rcx
mov rcx, qword [rbp + 0xcb0]
call fcn.140010930
jmp 0x14004d6a7
mov r15, qword [rbp + 0xcb8]
mov r11b, 2
mov rsi, r15
mov dword [rbp], r11d
jmp 0x14004e43f
mov r10, qword [rbp + 0xcd0]
mov eax, SafeArrayAllocDescriptor
xor r8d, r8d
mov r15, qword [rbp + 0xcb8]
cmp r11b, 0xa
jne 0x14004e2fb
mov rdi, r10
test r10, r10
je 0x14004e2fb
movzx edx, word [r10]
test dx, dx
je 0x14004e2fb
lea rcx, [0x1401034c8]
cmp dx, ax
je 0x14004e307
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14004e2d7
movzx edx, word [rdi + 2]
add rdi, 2
mov eax, SafeArrayAllocDescriptor
test dx, dx
jne 0x14004e2d0
mov rsi, qword [rbp + 0xcd0]
jmp 0x14004e43f
cmp rdi, r10
jbe 0x14004e2fb
movzx r14d, word [rdi]
cmp r14d, 0x2c
ja 0x14004e2fb
movabs rcx, 0x100100000200
bt rcx, r14
jae 0x14004e2fb
mov rsi, rdi
movzx ebx, r14w
nop dword [rax]
movzx r15d, r11b
cmp bx, 0x20
je 0x14004e340
cmp bx, 9
jne 0x14004e34a
movzx ebx, word [rsi + 2]
add rsi, 2
jmp 0x14004e330
mov rdx, r10
mov word [rdi], r8w
lea rcx, [0x140103500]
call fcn.1400bea20
test eax, eax
jne 0x14004e36e
mov r11b, reloc.WSOCK32.dll_inet_ntoa
mov word [rdi], r14w
mov dword [rbp], r11d
jmp 0x14004e3e8
mov rdx, qword [rbp + 0xcd0]
lea rcx, [0x140103510]
call fcn.1400bea20
test eax, eax
jne 0x14004e392
mov r11b, reloc.WSOCK32.dll_ioctlsocket
mov word [rdi], r14w
mov dword [rbp], r11d
jmp 0x14004e3e8
mov rdx, qword [rbp + 0xcd0]
lea rcx, [0x140103518]
call fcn.1400bea20
test eax, eax
jne 0x14004e3b6
mov r11b, ntohs
mov word [rdi], r14w
mov dword [rbp], r11d
jmp 0x14004e3e8
mov rdx, qword [rbp + 0xcd0]
lea rcx, [0x140103528]
call fcn.1400bea20
mov word [rdi], r14w
test eax, eax
jne 0x14004e3da
mov r11b, recv
mov dword [rbp], r11d
jmp 0x14004e3e8
movzx r11d, r15b
mov dword [rbp], r11d
cmp r15b, 0xa
je 0x14004e404
cmp bx, 0x2c
jne 0x14004e438
movzx eax, word [rsi + 2]
add rsi, 2
cmp ax, 0x20
je 0x14004e3ee
cmp ax, 9
je 0x14004e3ee
jmp 0x14004e438
movzx r11d, r15b
mov dword [rbp], r11d
cmp bx, 0x2c
jne 0x14004e431
mov r8, qword [rbp + 0xcb8]
lea rdx, [0x140103538]
mov rcx, qword [rbp + 0xcb0]
call fcn.140010930
jmp 0x14004d6a7
mov rsi, qword [rbp + 0xcd0]
mov r15, qword [rbp + 0xcb8]
xor r8d, r8d
mov r14d, 0x2c
xor edi, edi
movzx eax, r11b
add eax, 0xfffffff7
mov qword [rbp + 8], r8
lea rdx, [0x140000000]
movzx ebx, dil
cmp eax, 0x12
ja case.0x14004e475.10
cdqe
mov ecx, dword [rdx + rax*4 + 0x4eff4]
add rcx, rdx
jmp rcx
mov r12, rsi
test r12, r12
je 0x14004e50f
cmp word [r12], 0x28
jne 0x14004e50f
lea rax, [r13 - 1]
movzx ecx, word [r15 + rax*2]
lea rax, [r15 + rax*2]
cmp cx, 0x7b
jne 0x14004e4db
cmp r11b, 0xf
je 0x14004e4ae
cmp r11b, 0x17
jne 0x14004e4db
add rax, 0xfffffffffffffffe
mov byte [rbp + 0xcc0], 1
cmp rax, r12
jbe 0x14004e4d8
nop
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14004e4cf
cmp cx, 9
jne 0x14004e4d8
sub rax, 2
cmp rax, r12
ja 0x14004e4c0
movzx ecx, word [rax]
cmp cx, 0x29
jne 0x14004e50f
add rsi, 2
add rax, 0xfffffffffffffffe
cmp rax, r12
jbe 0x14004e508
nop
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14004e4ff
cmp cx, 9
jne 0x14004e508
sub rax, 2
cmp rax, r12
ja 0x14004e4f0
mov word [rax + 2], r8w
mov bl, 1
cmp r11b, 0x17
jne case.0x14004e475.10
cmp word [rsi], 0x7b
jne case.0x14004e475.10
test r12, r12
je 0x14004e54b
cmp word [r12], 0x28
jne 0x14004e54b
mov rcx, qword [rbp + 0xcb0]
lea rdx, [0x140103560]
mov r8, r15
call fcn.140010930
jmp 0x14004d6a7
movzx eax, word [rsi]
cmp ax, 0x7b
jne 0x14004e56f
mov byte [rbp + 0xcc0], 1
movzx eax, word [rsi + 2]
add rsi, 2
cmp ax, 0x20
je 0x14004e55b
cmp ax, 9
je 0x14004e55b
test ax, ax
je case.0x14004e475.10
mov qword [rbp + 8], rsi
sub rsi, 2
xor r12d, r12d
mov word [rsi], r12w
jmp 0x14004e718
xor r12d, r12d
mov r8d, r12d
nop dword [rax]
nop word [rax + rax]
movsxd rax, r8d
movsxd r9, r8d
movzx r10d, word [rsi + rax*2]
lea edx, [r9 + 1]
cmp r10d, 0x3a
jne 0x14004e5be
cmp word [rsi + r9*2 + 2], 0x3d
jne case.0x14004e5e3.0
cmp r10d, 0x7d
ja case.0x14004e5e3.4
lea r11, [0x140000000]
movzx eax, byte [r11 + r10 + 0x4f064]
mov ecx, dword [r11 + rax*4 + 0x4f040]
add rcx, r11
jmp rcx
lea rcx, [r9 + 1]
movzx eax, word [rsi + rcx*2]
lea rcx, [rsi + rcx*2]
cmp ax, r10w
je 0x14004e61e
test ax, ax
je 0x14004e61e
cmp ax, 0x60
jne 0x14004e60e
cmp word [rcx + 2], di
je 0x14004e60e
inc edx
add rcx, 2
movzx eax, word [rcx + 2]
add rcx, 2
inc edx
cmp ax, r10w
jne 0x14004e5f7
movsxd rax, edx
mov r8d, edx
cmp word [rsi + rax*2], di
jne case.0x14004e5e3.4
movsxd rax, r8d
cmp word [rsi + rax*2], di
lea rdx, [rsi + rax*2]
jne 0x14004e6a2
mov rcx, qword [rbp + 0xcb0]
lea rdx, [0x140103580]
mov r8, r15
call fcn.140010930
jmp 0x14004d6a7
cmp word [rsi + r9*2 + 2], 0x3f
mov r8d, edx
je case.0x14004e5e3.4
mov edx, 0x3a
jmp 0x14004e685
mov eax, 0x25
jmp 0x14004e67f
mov eax, 0x29
jmp 0x14004e67f
mov eax, 0x5d
jmp 0x14004e67f
mov eax, 0x7d
mov r8d, edx
movzx edx, ax
xor r9d, r9d
mov rcx, rsi
call fcn.14009d4f0
movsxd r8, eax
cmp word [rsi + r8*2], di
je case.0x14004e5e3.0
inc r8d
jmp 0x14004e5a0
mov word [rdx], r12w
cmp word [rsi], di
je 0x14004e6e7
mov rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], di
jne 0x14004e6b2
dec rax
lea rax, [rsi + rax*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14004e6d1
cmp cx, 9
jne 0x14004e6dc
cmp rax, rsi
je 0x14004e6e3
sub rax, 2
jmp 0x14004e6c2
mov word [rax + 2], r12w
jmp 0x14004e6e7
mov word [rax], r12w
movzx eax, word [rdx + 2]
add rdx, 2
cmp ax, 0x20
je 0x14004e6e7
cmp ax, 9
je 0x14004e6e7
mov r11d, dword [rbp]
mov qword [rbp + 8], rdx
lea rdx, [0x140000000]
test ax, ax
jne 0x14004e718
mov qword [rbp + 8], r12
jmp 0x14004e718
xor r12d, r12d
movzx eax, r11b
lea rcx, [rax + rax*4]
lea r9, [rcx*2 + 0x11c1b0]
mov rcx, qword [rbp + 0xcc8]
add r9, rdx
mov qword [rbp + 0x10], r9
test rcx, rcx
je 0x14004e74a
mov rax, rsi
sub rax, r15
sar rax, 1
lea rdi, [rcx + rax*2]
jmp 0x14004e793
lea r8, [r13*2]
lea rax, [r8 + 0xf]
cmp rax, r8
ja 0x14004e765
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1400d8050
sub rsp, rax
xor edx, edx
lea rdi, [rsp + 0x40]
mov rcx, rdi
call fcn.1400bae40
mov rdx, rdi
mov rcx, rsi
call fcn.14009d370
mov r9, qword [rbp + 0x10]
mov r11d, dword [rbp]
lea eax, [r11 - 0x12]
movzx r10d, bl
cmp al, 2
mov eax, 1
cmova r10d, eax
mov dword [rbp + 0xcd0], r10d
cmp r11b, 0xf
jne 0x14004e88e
movzx ecx, word [rsi]
mov rbx, rsi
nop dword [rax]
lea eax, [rcx - 0x41]
movzx edx, cx
cmp ax, 0x19
mov eax, edx
ja 0x14004e7d1
or eax, 0x20
cmp ax, 0x69
jne 0x14004e803
movzx eax, word [rbx + 2]
mov r8d, eax
sub ax, 0x41
cmp ax, 0x19
ja 0x14004e7ec
or r8d, 0x20
cmp r8w, 0x6e
jne 0x14004e803
movzx eax, word [rbx + 4]
cmp ax, 0x20
je 0x14004e868
cmp ax, 9
je 0x14004e868
cmp cx, 0x7f
ja 0x14004e827
mov ecx, edx
call fcn.1400c36c0
test eax, eax
jne 0x14004e827
movzx eax, word [rbx]
cmp ax, 0x5f
je 0x14004e827
cmp ax, 0x2c
jne 0x14004e530
movzx eax, word [rbx]
cmp eax, 0x7f
ja 0x14004e843
mov ecx, eax
call fcn.1400c3610
test eax, eax
jne 0x14004e843
movzx eax, word [rbx]
cmp ax, 0x5f
jne 0x14004e849
add rbx, 2
jmp 0x14004e827
cmp ax, 0x2c
jne 0x14004e853
add rbx, 2
movzx ecx, word [rbx]
cmp cx, 0x20
je 0x14004e84f
cmp cx, 9
jne 0x14004e7c0
jmp 0x14004e84f
mov r9, qword [rbp + 0x10]
mov eax, SafeArrayAllocDescriptor
mov r10d, dword [rbp + 0xcd0]
cmp rbx, rsi
mov r11d, dword [rbp]
cmove r14w, ax
mov word [rbx + 2], ax
mov word [rbx], r14w
jmp 0x14004e8a1
cmp r11b, 0x17
movzx r10d, r10b
cmove r10d, r12d
mov dword [rbp + 0xcd0], r10d
cmp word [rsi], 0
mov edx, r12d
movsx r13, byte [r9 + 9]
mov r14d, r12d
je 0x14004eb4b
lea eax, [r13 - 1]
xor r11d, r11d
movsxd r12, eax
mov ebx, r11d
cmp rbx, r13
jge 0x14004eb40
movsxd rax, edx
lea rcx, [rsi + rax*2]
mov qword [rbp + rbx*8 + 0x20], rcx
lea r8, [rdi + rax*2]
mov qword [rbp + rbx*8 + 0xc0], r8
test r10b, r10b
je 0x14004ea80
mov r8d, edx
movsxd rax, r8d
movzx r9d, word [rsi + rax*2]
cmp r9d, 0x2c
je case.0x14004e92b.0
lea edx, [r8 + 1]
cmp r9d, 0x7d
ja case.0x14004e92b.4
lea r10, [0x140000000]
movzx eax, byte [r10 + r9 + 0x4f108]
mov ecx, dword [r10 + rax*4 + 0x4f0e4]
add rcx, r10
jmp rcx
movsxd rax, r8d
lea rcx, [rax + 1]
lea r8, [rax + 1]
lea rcx, [rsi + rcx*2]
lea r8, [rdi + r8*2]
movzx eax, word [rcx]
cmp ax, r9w
jne 0x14004e96b
test rdi, rdi
je 0x14004e955
cmp word [r8], 0
jne 0x14004e98b
movsxd rax, edx
cmp word [rsi + rax*2], 0
je 0x14004e9ee
mov r8d, edx
inc r8d
jmp 0x14004e8f0
test ax, ax
je 0x14004e955
cmp ax, 0x60
jne 0x14004e98b
test rdi, rdi
jne 0x14004e98b
cmp word [rcx + 2], di
je 0x14004e98b
inc edx
add r8, 2
add rcx, 2
inc edx
add r8, 2
add rcx, 2
jmp 0x14004e940
movsxd rax, r8d
cmp word [rsi + rax*2 + 2], 0x3f
jne case.0x14004e92b.4
mov r8d, edx
inc r8d
jmp 0x14004e8f0
mov eax, 0x25
jmp 0x14004e9c7
mov eax, 0x29
jmp 0x14004e9c7
mov eax, 0x5d
jmp 0x14004e9c7
mov eax, 0x7d
mov r8d, edx
mov r9, rdi
movzx edx, ax
mov rcx, rsi
call fcn.14009d4f0
movsxd r8, eax
cmp word [rsi + r8*2], 0
je case.0x14004e92b.0
inc r8d
jmp 0x14004e8f0
mov edx, r8d
xor r11d, r11d
movsxd rax, edx
cmp word [rsi + rax*2], 0
je 0x14004eb21
cmp rbx, r12
je 0x14004eb3d
mov word [rsi + rax*2], r11w
mov r9, qword [rbp + rbx*8 + 0x20]
mov r8, qword [rbp + rbx*8 + 0xc0]
cmp word [r9], 0
je 0x14004eaf3
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [r9 + rax*2], 0
jne 0x14004ea30
dec rax
mov r10, r9
sub r10, r8
lea rcx, [r8 + rax*2]
nop dword [rax + rax]
movzx r8d, word [r10 + rcx]
cmp r8w, 0x20
je 0x14004ea67
cmp r8w, 9
jne 0x14004eaed
cmp word [rcx], 0
jne 0x14004eaed
test rax, rax
je 0x14004ead9
dec rax
sub rcx, 2
jmp 0x14004ea50
movzx eax, word [rcx]
cmp ax, 0x2c
jne 0x14004eaa9
test rdi, rdi
je 0x14004e9f1
cmp word [r8], 0
je 0x14004e9f1
inc edx
add r8, 2
add rcx, 2
jmp 0x14004ea80
test ax, ax
je 0x14004e9f1
cmp ax, 0x60
jne 0x14004eacd
test rdi, rdi
jne 0x14004eacd
cmp word [rcx + 2], di
je 0x14004eacd
inc edx
add r8, 2
add rcx, 2
inc edx
add r8, 2
add rcx, 2
jmp 0x14004ea80
cmp r8w, 0x20
je 0x14004eae7
cmp r8w, 9
jne 0x14004eaf3
mov word [r9], r11w
jmp 0x14004eaf3
mov word [r9 + rax*2 + 2], r11w
inc edx
mov r8, rsi
movsxd rax, edx
sub r8, rdi
lea rcx, [rdi + rax*2]
movzx eax, word [r8 + rcx]
cmp ax, 0x20
je 0x14004eb13
cmp ax, 9
jne 0x14004eb21
cmp word [rcx], 0
jne 0x14004eb21
inc edx
add rcx, 2
jmp 0x14004eb02
movsxd rax, edx
inc r14d
inc rbx
cmp word [rsi + rax*2], 0
je 0x14004eb40
mov r10d, dword [rbp + 0xcd0]
jmp 0x14004e8c3
inc r14d
mov r9, qword [rbp + 0x10]
xor r12d, r12d
mov r11d, dword [rbp]
movsx r10d, byte [r9 + 8]
mov ecx, r10d
cmp r14d, r10d
jge 0x14004ebb1
cmp r10b, 1
lea rax, reloc.WSOCK32.dll_WSAStartup
lea r8, [0x1400f9b70]
cmovg r8, rax
mov qword [rsp + 0x28], r8
lea r8, [0x1401035a0]
mov dword [rsp + 0x20], ecx
mov r9, qword [r9]
lea rcx, [rbp + 0x460]
mov edx, 0x400
call fcn.14009abe0
mov r8, qword [rbp + 0xcb8]
lea rdx, [rbp + 0x460]
mov rcx, qword [rbp + 0xcb0]
call fcn.140010930
jmp 0x14004d6a7
movsxd rax, edx
cmp word [rsi + rax*2], 0
je 0x14004ebf0
cmp r11b, 2
je 0x14004ebf0
cmp r11b, 0x17
je 0x14004ebf0
cmp r13d, 1
lea rax, reloc.WSOCK32.dll_WSAStartup
lea r8, [0x1400f9b70]
cmovg r8, rax
mov qword [rsp + 0x28], r8
lea r8, [0x1401035f0]
mov dword [rsp + 0x20], r13d
jmp 0x14004eb7e
mov edx, r12d
cmp r11b, 0x1b
jne 0x14004ebfe
mov ecx, r14d
jmp 0x14004ec08
cmp r11b, 0x17
jne 0x14004ec08
lea ecx, [r14 - 1]
movsxd r8, ecx
test ecx, ecx
jle 0x14004ec2b
mov rcx, r12
mov rax, qword [rbp + rcx*8 + 0x20]
inc edx
cmp word [rax], 0
je 0x14004ece4
inc rcx
cmp rcx, r8
jl 0x14004ec12
test r14d, r14d
je 0x14004ed16
movzx ebx, byte [rbp + 0xcc0]
cmp r11b, 0x1a
ja 0x14004ed50
mov ecx, 0x481fd00
bt ecx, r11d
jae 0x14004ed50
test bl, bl
jne 0x14004ed1d
movsxd rax, r14d
mov r9, 0xffffffffffffffff
mov rcx, qword [rbp + rax*8 + 0x18]
mov rax, r9
nop
cmp word [rcx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x14004ec70
lea rdx, [rax - 1]
lea rdx, [rcx + rdx*2]
cmp rdx, rcx
jb 0x14004ed1d
cmp word [rdx], 0x7b
jne 0x14004ed1d
mov word [rdx], r12w
cmp word [rcx], 0
mov byte [rbp + 0xcc0], 1
je 0x14004edda
nop dword [rax]
inc r9
cmp word [rcx + r9*2], 0
jne 0x14004ecb0
lea rax, [r9 - 1]
lea rax, [rcx + rax*2]
movzx edx, word [rax]
cmp dx, 0x20
je 0x14004ecd2
cmp dx, 9
jne 0x14004ed08
cmp rax, rcx
je 0x14004edd6
sub rax, 2
dec r9
jmp 0x14004ecc3
mov r9, qword [r9]
lea r8, [0x140103640]
mov dword [rsp + 0x20], edx
lea rcx, [rbp + 0x460]
mov edx, 0x400
call fcn.14009abe0
jmp 0x14004eb92
mov word [rax + 2], r12w
test r9, r9
je 0x14004edda
movzx ebx, byte [rbp + 0xcc0]
cmp r11b, 0x1a
jne 0x14004ed50
test r14d, r14d
je 0x14004ed50
mov rax, qword [rbp + 0x20]
cmp word [rax], 0
jne 0x14004ed50
mov rcx, qword [rbp + 0xcb0]
lea r8, [0x1400f9b70]
lea rdx, [0x1401036a0]
call fcn.140010930
mov r11d, dword [rbp]
mov eax, dword [rbp + 0xcd0]
lea r8, [rbp + 0x20]
mov byte [rsp + 0x28], al
mov r9d, r14d
mov r14, qword [rbp + 0xcb0]
lea rax, [rbp + 0xc0]
mov rcx, r14
mov qword [rsp + 0x20], rax
movzx edx, r11b
call fcn.14004f190
test eax, eax
je 0x14004d6a5
test bl, bl
je 0x14004edae
mov byte [rsp + 0x28], 0
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r12
mov dl, 3
mov rcx, r14
call fcn.14004f190
test eax, eax
je 0x14004d6a5
mov rax, qword [rbp + 8]
test rax, rax
je 0x14004da15
xor r9d, r9d
mov qword [rsp + 0x20], r12
xor r8d, r8d
mov rdx, rax
mov rcx, r14
call fcn.14004d3d0
jmp 0x14004d6a7
mov word [rax], r12w
cmp r11b, 0x1a
ja 0x14004edf3
mov ecx, 0x4800400
bt ecx, r11d
jae 0x14004edf3
dec r14d
jmp 0x14004ed16
mov r8, qword [rbp + 0xcb8]
lea rdx, [0x140102f98]
mov rcx, qword [rbp + 0xcb0]
call fcn.140010930
jmp 0x14004d6a7