Function at 0x14004dc60
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 0x14004dca3
mov eax, SafeArrayAllocDescriptor
test r11b, r11b
je 0x14004dcdc
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 0x14004eb42
mov r8d, 6
lea rdx, [0x1400ff3c0]
mov rcx, r14
call fcn.1400c04f0
lea rdx, [0x1400ff3b0]
mov ecx, 5
test eax, eax
jne 0x14004dd07
lea r12d, [rcx + 0x3c]
jmp 0x14004dd42
mov r8, rcx
mov rcx, r14
call fcn.1400c04f0
test eax, eax
jne 0x14004dd21
mov eax, 0xa
lea r12d, [rax + 0x38]
jmp 0x14004dd47
mov r8d, 6
lea rdx, [0x1400ff388]
mov rcx, r14
call fcn.1400c04f0
test eax, eax
jne 0x14004e2da
lea r12d, [rax + 0x62]
mov eax, reloc.WSOCK32.dll_ioctlsocket
lea rdi, [rax + r14]
movzx eax, word [rax + r14]
test ax, ax
je 0x14004e284
cmp ax, 0x20
je 0x14004dd7c
cmp ax, 9
jne 0x14004e2d3
nop dword [rax]
cmp ax, 0x20
je 0x14004dd7c
cmp ax, 9
jne 0x14004dd86
movzx eax, word [rdi + 2]
add rdi, 2
jmp 0x14004dd70
test ax, ax
je 0x14004e284
cmp ax, 0x7f
ja 0x14004ddab
movzx ecx, ax
call fcn.1400c5040
test eax, eax
jne 0x14004ddab
cmp word [rdi], 0x5f
jne 0x14004e2d3
mov rax, qword [0x14011f188]
cmp qword [rax + 0x28], 0
jne 0x14004ddc3
test r12b, 2
jne 0x14004e2bc
mov rax, qword [rbx + 0x78]
xor r13b, r13b
cmp word [rdi], 0
mov qword [rbp + 0x10], rax
je 0x14004e2b2
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 0x14004de09
mov ecx, eax
call fcn.1400c5040
test eax, eax
jne 0x14004de09
cmp word [rbx], 0x5f
jne 0x14004de0f
add rbx, 2
jmp 0x14004ddf0
mov rsi, rbx
sub rsi, rdi
sar rsi, 1
test r15d, r15d
je 0x14004de3e
mov rcx, qword [rbp + 0xcb0]
mov r9d, r12d
mov r8, rsi
mov rdx, rdi
call fcn.140054340
mov r14, rax
test rax, rax
je 0x14004df35
mov rcx, qword [0x14011f188]
cmp qword [rcx + 0x28], 0
je 0x14004def0
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.140054410
mov r15, rax
test rax, rax
jne 0x14004ded3
cmp dword [rbp + 0xcc0], eax
je 0x14004df35
test r14, r14
je 0x14004df05
mov r8d, dword [rbp + 0xcd0]
mov rdx, r14
mov rcx, qword [rbp + 8]
call fcn.140060810
test eax, eax
je 0x14004e1e5
mov r15, r14
mov rsi, qword [rbp + 0xcb0]
movzx eax, byte [r15 + 0x22]
cmp eax, r12d
jne 0x14004e204
mov r15d, dword [rbp]
nop dword [rax]
movzx edx, word [rbx]
cmp dx, 0x20
je 0x14004deff
cmp dx, 9
jne 0x14004df4b
add rbx, 2
jmp 0x14004def0
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.140054c90
mov r15, rax
test rax, rax
jne 0x14004deda
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 0x14004e191
cmp dx, 0x2c
je 0x14004e1ca
cmp dx, 0x3a
jne 0x14004df71
cmp word [rbx + 2], 0x3d
jne 0x14004df71
add rbx, 4
jmp 0x14004dfd6
lea rcx, [0x140105350]
call fcn.1400bb988
test rax, rax
je 0x14004df89
cmp word [rbx + 2], 0x3d
je 0x14004dfd6
movzx edx, word [rbx]
lea rcx, [0x140105368]
call fcn.1400bb988
test rax, rax
je 0x14004e269
movzx ecx, word [rbx]
cmp word [rbx + 2], cx
jne 0x14004e269
movzx eax, word [rbx + 4]
cmp ax, 0x3d
je 0x14004dfd6
cmp cx, 0x3e
jne 0x14004e269
cmp ax, cx
jne 0x14004e269
cmp word [rbx + 6], 0x3d
jne 0x14004e269
xor r8d, r8d
nop dword [rax]
movsxd rax, r8d
movzx r9d, word [rbx + rax*2]
cmp r9d, 0x2c
je case.0x14004e01b.0
lea edx, [r8 + 1]
cmp r9d, 0x7d
ja case.0x14004e01b.1
lea r10, [0x140000000]
movzx eax, byte [r10 + r9 + 0x4f6c8]
mov ecx, dword [r10 + rax*4 + 0x4f6a4]
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 0x14004e059
test ax, ax
je 0x14004e059
cmp ax, 0x60
jne 0x14004e049
cmp word [rcx + 2], 0
je 0x14004e049
inc edx
add rcx, 2
movzx eax, word [rcx + 2]
add rcx, 2
inc edx
cmp ax, r9w
jne 0x14004e031
movsxd rax, edx
mov r8d, edx
cmp word [rbx + rax*2], 0
je 0x14004e0c5
inc r8d
jmp 0x14004dfe0
movsxd rax, r8d
cmp word [rbx + rax*2 + 2], 0x3f
jne case.0x14004e01b.1
mov r8d, edx
inc r8d
jmp 0x14004dfe0
mov eax, 0x25
jmp 0x14004e09e
mov eax, 0x29
jmp 0x14004e09e
mov eax, 0x5d
jmp 0x14004e09e
mov eax, 0x7d
mov r8d, edx
xor r9d, r9d
movzx edx, ax
mov rcx, rbx
call fcn.14009f120
movsxd r8, eax
cmp word [rbx + r8*2], 0
je case.0x14004e01b.0
inc r8d
jmp 0x14004dfe0
mov edx, r8d
movsxd rax, edx
lea rsi, [rbx + rax*2]
lea rbx, [rsi - 2]
cmp rbx, rdi
jbe 0x14004e0ed
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14004e0e4
cmp ax, 9
jne 0x14004e0ed
sub rbx, 2
cmp rbx, rdi
ja 0x14004e0d5
movzx r14d, word [rbx + 2]
xor ecx, ecx
mov word [rbx + 2], cx
cmp qword [rbp + 0x10], rcx
je 0x14004e12d
test r13b, r13b
jne 0x14004e12d
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.14004fa20
test eax, eax
je 0x14004df35
mov r13b, 1
xor ecx, ecx
mov r8d, ecx
mov qword [rsp + 0x20], rcx
mov rcx, qword [rbp + 0xcb0]
mov eax, 5
cmp r12d, 0x62
mov rdx, rdi
cmove r8d, eax
xor r9d, r9d
call fcn.14004dc60
test eax, eax
je 0x14004df35
mov word [rbx + 2], r14w
movzx eax, word [rsi]
cmp ax, 0x2c
jne 0x14004e185
lea rdi, [rsi + 2]
nop
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14004e17f
cmp ax, 9
jne 0x14004e188
add rdi, 2
jmp 0x14004e170
mov rdi, rsi
test ax, ax
jne 0x14004dde3
test r13b, r13b
je 0x14004e2b2
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.14004fa20
test eax, eax
je 0x14004df35
mov eax, 1
jmp 0x14004df37
lea rdi, [rbx + 2]
nop
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14004e1df
cmp ax, 9
jne 0x14004e188
add rdi, 2
jmp 0x14004e1d0
mov rcx, qword [rbp + 0xcb0]
lea r8, [0x1400fbbd0]
lea rdx, [0x1400ffa10]
call fcn.140010a90
jmp 0x14004df37
test r12b, 2
je 0x14004e222
test r12b, 0x20
lea rbx, [0x1400ff388]
lea rax, [0x1400ff3b0]
cmove rbx, rax
jmp 0x14004e229
lea rbx, [0x1400ff3c0]
mov rcx, r15
call fcn.140010c40
mov r9, rbx
mov qword [rsp + 0x20], rax
lea r8, [0x1400ff8c0]
mov edx, 0x7f
lea rcx, [rbp + 0x360]
call fcn.14009c880
mov r8, qword [r15 + 0x28]
lea rdx, [rbp + 0x360]
mov rcx, rsi
call fcn.140010a90
jmp 0x14004df37
mov rcx, qword [rbp + 0xcb0]
lea rdx, [0x140105370]
mov r8, rdi
call fcn.140010a90
jmp 0x14004df37
cmp r12d, 0x42
je 0x14004e2bc
cmp byte [rbx + 0x90], 0
jne 0x14004e2a0
mov rax, qword [rbx + 8]
cmp qword [rbx + 0x88], rax
jne 0x14004e2bc
mov rax, qword [0x14011f188]
mov rcx, qword [rax + 0x28]
mov byte [rcx + 0xbe], r12b
mov eax, 1
jmp 0x14004df37
mov r8, r14
lea rdx, [0x140105320]
mov rcx, rbx
call fcn.140010a90
jmp 0x14004df37
mov rdi, qword [rbp + 0xcc8]
mov r12, r14
nop dword [rax]
movzx eax, word [r12]
cmp eax, 0x7f
ja 0x14004e2fd
mov ecx, eax
call fcn.1400c5040
test eax, eax
jne 0x14004e2fd
cmp word [r12], 0x5f
jne 0x14004e303
add r12, 2
jmp 0x14004e2e0
mov rbx, r12
sub rbx, r14
sar rbx, 1
lea rax, [rbx - 1]
cmp rax, 0xfc
ja 0x14004e388
mov r8, rbx
lea rcx, [rbp + 0x160]
mov rdx, r14
call fcn.1400cee44
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 0x14004e350
cmp cx, 9
jne 0x14004e356
add r10, 2
jmp 0x14004e340
movzx eax, word [r12]
mov qword [rbp + 0xcd0], r10
cmp eax, 0x28
ja 0x14004e39e
movabs rdx, 0x10100000201
bt rdx, rax
jae 0x14004e39e
cmp cx, 0x3d
je 0x14004e39e
cmp cx, 0x3a
je 0x14004e39e
mov r15b, 1
jmp 0x14004e3a1
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 0x14004e3ba
cmp r9w, 0x27
jne 0x14004e426
mov r8d, 1
lea rax, [r14 + 2]
lea rcx, [rdi + 2]
nop dword [rax + rax]
movzx edx, word [rax]
cmp dx, r9w
jne 0x14004e465
test rdi, rdi
je 0x14004e3ec
cmp word [rcx], 0
jne 0x14004e486
movsxd rax, r8d
cmp word [r14 + rax*2], 0
lea r10, [r14 + rax*2]
mov qword [rbp + 0xcd0], r10
je 0x14004e426
movzx eax, word [r10 + 2]
add r10, 2
cmp ax, 0x20
je 0x14004e402
cmp ax, 9
je 0x14004e402
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.0x14004e463.45
cdqe
lea r8d, [r14 - 6]
movzx eax, byte [rdi + rax + 0x4f768]
mov ecx, dword [rdi + rax*4 + 0x4f748]
add rcx, rdi
jmp rcx
test dx, dx
je 0x14004e3ec
cmp dx, 0x60
jne 0x14004e486
test rdi, rdi
jne 0x14004e486
cmp word [rax + 2], di
je 0x14004e486
inc r8d
add rcx, 2
add rax, 2
inc r8d
add rcx, 2
add rax, 2
jmp 0x14004e3d0
cmp dx, 0x3d
jne case.0x14004e463.45
cmp word [r10 + 4], 0
sete r11b
inc r11b
jmp 0x14004e4e6
test r12, r12
jne 0x14004e4ba
cmp dx, r9w
je case.0x14004e463.44
cmp dx, 0x3d
jne case.0x14004e463.45
mov r15, qword [rbp + 0xcb8]
movzx r11d, r8b
mov dword [rbp], r11d
mov rsi, r15
jmp 0x14004eccf
cmp dx, 0x3d
mov r11d, r8d
cmovne r11d, esi
mov dword [rbp], r11d
test r11b, r11b
je 0x14004e820
cmp r11b, 1
jne 0x14004e628
nop dword [rax]
movsxd rax, r8d
movzx r9d, word [r10 + rax*2]
cmp r9d, 0x2c
je case.0x14004e533.0
lea edx, [r8 + 1]
cmp r9d, 0x7d
ja case.0x14004e533.4
movzx eax, byte [rdi + r9 + 0x4f7e4]
mov ecx, dword [rdi + rax*4 + 0x4f7c0]
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 0x14004e578
nop word [rax + rax]
test ax, ax
je 0x14004e578
cmp ax, 0x60
jne 0x14004e568
cmp word [rcx + 2], 0
je 0x14004e568
inc edx
add rcx, 2
movzx eax, word [rcx + 2]
add rcx, 2
inc edx
cmp ax, r9w
jne 0x14004e550
movsxd rax, edx
mov r8d, edx
cmp word [r10 + rax*2], 0
je 0x14004e5ed
inc r8d
jmp 0x14004e500
movsxd rax, r8d
cmp word [r10 + rax*2 + 2], 0x3f
jne case.0x14004e533.4
mov r8d, edx
inc r8d
jmp 0x14004e500
mov eax, 0x25
jmp 0x14004e5bf
mov eax, 0x29
jmp 0x14004e5bf
mov eax, 0x5d
jmp 0x14004e5bf
mov eax, 0x7d
mov r8d, edx
xor r9d, r9d
movzx edx, ax
mov rcx, r10
call fcn.14009f120
mov r10, qword [rbp + 0xcd0]
movsxd r8, eax
cmp word [r10 + r8*2], 0
je case.0x14004e533.0
inc r8d
jmp 0x14004e500
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 0x14004e616
mov r11b, 2
mov dword [rbp], r11d
jmp 0x14004ecd8
mov r11d, dword [rbp]
mov word [r10], r14w
mov word [rbx], SafeArrayAllocDescriptor
jmp 0x14004ecd8
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 0x14004eb49
cmp dx, 0x3d
je case.0x14004e463.44
cmp dx, 0x2f
jne case.0x14004e463.45
cmp word [r10 + 4], 0x3d
jne case.0x14004e463.45
mov r15, qword [rbp + 0xcb8]
movzx r11d, r8b
mov dword [rbp], r11d
mov rsi, r15
jmp 0x14004eccf
cmp dx, r9w
jne case.0x14004e463.45
movzx eax, word [r10 + 4]
cmp ax, 0x3d
je case.0x14004e463.44
cmp dx, 0x3e
jne case.0x14004e463.45
cmp ax, dx
jne case.0x14004e463.45
cmp word [r10 + 6], 0x3d
jne case.0x14004e463.45
mov r15, qword [rbp + 0xcb8]
movzx r11d, r8b
mov dword [rbp], r11d
mov rsi, r15
jmp 0x14004eccf
cmp dx, 0x3d
jne 0x14004e6f0
mov r15, qword [rbp + 0xcb8]
movzx r11d, r8b
mov dword [rbp], r11d
mov rsi, r15
jmp 0x14004eccf
mov rdi, rbx
movzx eax, word [rdi]
cmp eax, 0x7f
ja 0x14004e70f
mov ecx, eax
call fcn.1400c5040
test eax, eax
jne 0x14004e70f
movzx ecx, word [rdi]
cmp cx, 0x5f
jne 0x14004e715
add rdi, 2
jmp 0x14004e6f3
cmp cx, 0x28
je 0x14004e98c
cmp cx, 0x25
je 0x14004e98c
cmp rdi, rbx
je 0x14004e80e
cmp cx, 0x20
je 0x14004e743
cmp cx, 9
je 0x14004e743
xor sil, sil
jmp 0x14004e746
mov sil, 1
mov rbx, rdi
nop dword [rax]
cmp cx, 0x20
je 0x14004e75c
cmp cx, 9
jne 0x14004e766
movzx ecx, word [rbx + 2]
add rbx, 2
jmp 0x14004e750
test cx, cx
je 0x14004e7f0
cmp cx, 0x5b
je 0x14004e98c
cmp word [rbx + 2], 0x3d
jne 0x14004e798
movzx edx, cx
lea rcx, [0x1401053b0]
call fcn.1400bb988
test rax, rax
jne 0x14004e98c
movzx ecx, word [rbx]
cmp word [rbx + 2], cx
jne 0x14004e7f0
movzx edx, cx
lea rcx, [0x140105368]
call fcn.1400bb988
test rax, rax
je 0x14004e7c0
cmp word [rbx + 4], 0x3d
je 0x14004e98c
movzx ecx, word [rbx]
mov edx, 0xfffd
lea eax, [rcx - 0x2b]
test dx, ax
je 0x14004e98c
cmp cx, 0x3e
jne 0x14004e7f0
cmp word [rbx + 4], cx
jne 0x14004e804
cmp word [rbx + 6], 0x3d
mov ecx, 0x3e
je 0x14004e98c
cmp cx, 0x2e
jne 0x14004e7ff
add rbx, 2
jmp 0x14004e6f0
test cx, cx
je 0x14004e809
test sil, sil
je 0x14004e80e
mov r12, rdi
jmp 0x14004e829
mov r10, qword [rbp + 0xcd0]
lea rdi, [0x140000000]
mov r11d, dword [rbp]
test r15b, r15b
je 0x14004e8d4
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 + 0x11f1b0]
call fcn.1400c0304
test eax, eax
je 0x14004e868
inc ebx
cmp ebx, 0x1b
jle 0x14004e840
jmp 0x14004e878
movzx r11d, bl
mov dword [rbp], r11d
test bl, bl
jne 0x14004eb33
movzx ecx, word [r12]
cmp cx, 0x28
je 0x14004e8dd
movzx eax, word [rbp + 0x160]
sub ax, 0x30
cmp ax, 9
jbe 0x14004e8dd
mov r15, qword [rbp + 0xcb8]
test cx, cx
je 0x14004e8a9
mov word [r12], 0x28
jmp 0x14004e8b3
mov word [r15 + r13*2], 0x28
inc r13
mov word [r15 + r13*2], 0x29
mov r11b, 2
inc r13
mov dword [rbp], r11d
xor r8d, r8d
mov rsi, r15
mov word [r15 + r13*2], r8w
jmp 0x14004ecd2
test r11b, r11b
jne 0x14004eb3a
mov rsi, qword [rbp + 0xcd0]
movzx eax, word [rsi]
cmp ax, 0x7b
jne 0x14004e9a2
movsxd rax, r14d
lea rcx, [rbp + 0x160]
lea rdx, [rax + rax*4]
mov rdx, qword [rdi + rdx*2 + 0x11f1b0]
call fcn.1400c0304
test eax, eax
je 0x14004e91c
inc r14d
cmp r14d, 0x1b
jle 0x14004e8f1
xor r14b, r14b
movzx eax, r14b
add eax, 0xfffffff7
cmp eax, 0x11
ja case.0x14004e93c.11
cdqe
movzx eax, byte [rdi + rax + 0x4f870]
mov ecx, dword [rdi + rax*4 + 0x4f864]
add rcx, rdi
jmp rcx
cmp word [rsi + 2], 0
jne case.0x14004e93c.11
movzx r11d, r14b
mov dword [rbp], r11d
test r14b, r14b
jne 0x14004ecc8
movzx edx, word [rsi]
lea rcx, [0x1401047d8]
call fcn.1400bb988
test rax, rax
je 0x14004ea60
movzx ecx, word [rsi]
mov edx, 0xfffd
lea eax, [rcx - 0x2b]
test dx, ax
jne 0x14004ea26
cmp word [rsi + 2], cx
jne 0x14004ea26
mov r15, qword [rbp + 0xcb8]
mov r11b, 2
mov dword [rbp], r11d
mov rsi, r15
jmp 0x14004eccf
cmp ax, 0x3a
jne case.0x14004e93c.11
lea rdx, [0x140101a50]
lea rcx, [rbp + 0x160]
call fcn.1400c0304
test eax, eax
jne case.0x14004e93c.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.14004fa20
test eax, eax
je 0x14004df35
lea rdx, [rsi + 2]
nop dword [rax]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14004e9ff
cmp ax, 9
jne 0x14004ea05
add rdx, 2
jmp 0x14004e9f0
test ax, ax
je 0x14004e2b2
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov rcx, rdi
call fcn.14004dc60
jmp 0x14004df37
mov edx, 0x3f
mov rcx, rsi
call fcn.1400bb988
test rax, rax
je 0x14004ea60
mov edx, 0x3a
mov rcx, rax
call fcn.1400bb988
test rax, rax
je 0x14004ea60
mov r15, qword [rbp + 0xcb8]
mov r11b, 2
mov dword [rbp], r11d
mov rsi, r15
jmp 0x14004eccf
test r12, r12
je 0x14004ea7e
movzx eax, word [r12]
cmp ax, 0x28
je 0x14004eb1d
cmp ax, 0x5b
je 0x14004eb1d
movzx eax, word [rsi]
mov r15, qword [rbp + 0xcb8]
cmp ax, 0x25
je 0x14004eb24
cmp word [r15], 0x28
je 0x14004eb24
cmp ax, 0x3d
jne 0x14004eac4
cmp word [rsi + 2], ax
je 0x14004eae5
mov rcx, qword [rbp + 0xcb0]
lea rdx, [0x1401053d0]
mov r8, r15
call fcn.140010a90
jmp 0x14004df37
cmp ax, 0x2c
jne 0x14004eae5
mov rcx, qword [rbp + 0xcb0]
lea rdx, [0x140105420]
mov r8, r15
call fcn.140010a90
jmp 0x14004df37
lea rdx, [0x1401048b0]
mov rcx, r15
call fcn.1400bc350
test rax, rax
lea rcx, [0x1401013b8]
lea rdx, [0x140104d00]
mov r8, r15
cmovne rdx, rcx
mov rcx, qword [rbp + 0xcb0]
call fcn.140010a90
jmp 0x14004df37
mov r15, qword [rbp + 0xcb8]
mov r11b, 2
mov rsi, r15
mov dword [rbp], r11d
jmp 0x14004eccf
mov r10, qword [rbp + 0xcd0]
mov eax, SafeArrayAllocDescriptor
xor r8d, r8d
mov r15, qword [rbp + 0xcb8]
cmp r11b, 0xa
jne 0x14004eb8b
mov rdi, r10
test r10, r10
je 0x14004eb8b
movzx edx, word [r10]
test dx, dx
je 0x14004eb8b
lea rcx, [0x1401054b8]
cmp dx, ax
je 0x14004eb97
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14004eb67
movzx edx, word [rdi + 2]
add rdi, 2
mov eax, SafeArrayAllocDescriptor
test dx, dx
jne 0x14004eb60
mov rsi, qword [rbp + 0xcd0]
jmp 0x14004eccf
cmp rdi, r10
jbe 0x14004eb8b
movzx r14d, word [rdi]
cmp r14d, 0x2c
ja 0x14004eb8b
movabs rcx, 0x100100000200
bt rcx, r14
jae 0x14004eb8b
mov rsi, rdi
movzx ebx, r14w
nop dword [rax]
movzx r15d, r11b
cmp bx, 0x20
je 0x14004ebd0
cmp bx, 9
jne 0x14004ebda
movzx ebx, word [rsi + 2]
add rsi, 2
jmp 0x14004ebc0
mov rdx, r10
mov word [rdi], r8w
lea rcx, [0x1401054f0]
call fcn.1400c0304
test eax, eax
jne 0x14004ebfe
mov r11b, reloc.WSOCK32.dll_inet_ntoa
mov word [rdi], r14w
mov dword [rbp], r11d
jmp 0x14004ec78
mov rdx, qword [rbp + 0xcd0]
lea rcx, [0x140105500]
call fcn.1400c0304
test eax, eax
jne 0x14004ec22
mov r11b, reloc.WSOCK32.dll_ioctlsocket
mov word [rdi], r14w
mov dword [rbp], r11d
jmp 0x14004ec78
mov rdx, qword [rbp + 0xcd0]
lea rcx, [0x140105508]
call fcn.1400c0304
test eax, eax
jne 0x14004ec46
mov r11b, ntohs
mov word [rdi], r14w
mov dword [rbp], r11d
jmp 0x14004ec78
mov rdx, qword [rbp + 0xcd0]
lea rcx, [0x140105518]
call fcn.1400c0304
mov word [rdi], r14w
test eax, eax
jne 0x14004ec6a
mov r11b, recv
mov dword [rbp], r11d
jmp 0x14004ec78
movzx r11d, r15b
mov dword [rbp], r11d
cmp r15b, 0xa
je 0x14004ec94
cmp bx, 0x2c
jne 0x14004ecc8
movzx eax, word [rsi + 2]
add rsi, 2
cmp ax, 0x20
je 0x14004ec7e
cmp ax, 9
je 0x14004ec7e
jmp 0x14004ecc8
movzx r11d, r15b
mov dword [rbp], r11d
cmp bx, 0x2c
jne 0x14004ecc1
mov r8, qword [rbp + 0xcb8]
lea rdx, [0x140105528]
mov rcx, qword [rbp + 0xcb0]
call fcn.140010a90
jmp 0x14004df37
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.0x14004ed05.10
cdqe
mov ecx, dword [rdx + rax*4 + 0x4f884]
add rcx, rdx
jmp rcx
mov r12, rsi
test r12, r12
je 0x14004ed9f
cmp word [r12], 0x28
jne 0x14004ed9f
lea rax, [r13 - 1]
movzx ecx, word [r15 + rax*2]
lea rax, [r15 + rax*2]
cmp cx, 0x7b
jne 0x14004ed6b
cmp r11b, 0xf
je 0x14004ed3e
cmp r11b, 0x17
jne 0x14004ed6b
add rax, 0xfffffffffffffffe
mov byte [rbp + 0xcc0], 1
cmp rax, r12
jbe 0x14004ed68
nop
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14004ed5f
cmp cx, 9
jne 0x14004ed68
sub rax, 2
cmp rax, r12
ja 0x14004ed50
movzx ecx, word [rax]
cmp cx, 0x29
jne 0x14004ed9f
add rsi, 2
add rax, 0xfffffffffffffffe
cmp rax, r12
jbe 0x14004ed98
nop
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14004ed8f
cmp cx, 9
jne 0x14004ed98
sub rax, 2
cmp rax, r12
ja 0x14004ed80
mov word [rax + 2], r8w
mov bl, 1
cmp r11b, 0x17
jne case.0x14004ed05.10
cmp word [rsi], 0x7b
jne case.0x14004ed05.10
test r12, r12
je 0x14004eddb
cmp word [r12], 0x28
jne 0x14004eddb
mov rcx, qword [rbp + 0xcb0]
lea rdx, [0x140105550]
mov r8, r15
call fcn.140010a90
jmp 0x14004df37
movzx eax, word [rsi]
cmp ax, 0x7b
jne 0x14004edff
mov byte [rbp + 0xcc0], 1
movzx eax, word [rsi + 2]
add rsi, 2
cmp ax, 0x20
je 0x14004edeb
cmp ax, 9
je 0x14004edeb
test ax, ax
je case.0x14004ed05.10
mov qword [rbp + 8], rsi
sub rsi, 2
xor r12d, r12d
mov word [rsi], r12w
jmp 0x14004efa8
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 0x14004ee4e
cmp word [rsi + r9*2 + 2], 0x3d
jne case.0x14004ee73.0
cmp r10d, 0x7d
ja case.0x14004ee73.4
lea r11, [0x140000000]
movzx eax, byte [r11 + r10 + 0x4f8f4]
mov ecx, dword [r11 + rax*4 + 0x4f8d0]
add rcx, r11
jmp rcx
lea rcx, [r9 + 1]
movzx eax, word [rsi + rcx*2]
lea rcx, [rsi + rcx*2]
cmp ax, r10w
je 0x14004eeae
test ax, ax
je 0x14004eeae
cmp ax, 0x60
jne 0x14004ee9e
cmp word [rcx + 2], di
je 0x14004ee9e
inc edx
add rcx, 2
movzx eax, word [rcx + 2]
add rcx, 2
inc edx
cmp ax, r10w
jne 0x14004ee87
movsxd rax, edx
mov r8d, edx
cmp word [rsi + rax*2], di
jne case.0x14004ee73.4
movsxd rax, r8d
cmp word [rsi + rax*2], di
lea rdx, [rsi + rax*2]
jne 0x14004ef32
mov rcx, qword [rbp + 0xcb0]
lea rdx, [0x140105570]
mov r8, r15
call fcn.140010a90
jmp 0x14004df37
cmp word [rsi + r9*2 + 2], 0x3f
mov r8d, edx
je case.0x14004ee73.4
mov edx, 0x3a
jmp 0x14004ef15
mov eax, 0x25
jmp 0x14004ef0f
mov eax, 0x29
jmp 0x14004ef0f
mov eax, 0x5d
jmp 0x14004ef0f
mov eax, 0x7d
mov r8d, edx
movzx edx, ax
xor r9d, r9d
mov rcx, rsi
call fcn.14009f120
movsxd r8, eax
cmp word [rsi + r8*2], di
je case.0x14004ee73.0
inc r8d
jmp 0x14004ee30
mov word [rdx], r12w
cmp word [rsi], di
je 0x14004ef77
mov rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], di
jne 0x14004ef42
dec rax
lea rax, [rsi + rax*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14004ef61
cmp cx, 9
jne 0x14004ef6c
cmp rax, rsi
je 0x14004ef73
sub rax, 2
jmp 0x14004ef52
mov word [rax + 2], r12w
jmp 0x14004ef77
mov word [rax], r12w
movzx eax, word [rdx + 2]
add rdx, 2
cmp ax, 0x20
je 0x14004ef77
cmp ax, 9
je 0x14004ef77
mov r11d, dword [rbp]
mov qword [rbp + 8], rdx
lea rdx, [0x140000000]
test ax, ax
jne 0x14004efa8
mov qword [rbp + 8], r12
jmp 0x14004efa8
xor r12d, r12d
movzx eax, r11b
lea rcx, [rax + rax*4]
lea r9, [rcx*2 + 0x11f1b0]
mov rcx, qword [rbp + 0xcc8]
add r9, rdx
mov qword [rbp + 0x10], r9
test rcx, rcx
je 0x14004efda
mov rax, rsi
sub rax, r15
sar rax, 1
lea rdi, [rcx + rax*2]
jmp 0x14004f023
lea r8, [r13*2]
lea rax, [r8 + 0xf]
cmp rax, r8
ja 0x14004eff5
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1400d9ac0
sub rsp, rax
xor edx, edx
lea rdi, [rsp + 0x40]
mov rcx, rdi
call fcn.1400bc740
mov rdx, rdi
mov rcx, rsi
call fcn.14009efa0
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 0x14004f11e
movzx ecx, word [rsi]
mov rbx, rsi
nop dword [rax]
lea eax, [rcx - 0x41]
movzx edx, cx
cmp ax, 0x19
mov eax, edx
ja 0x14004f061
or eax, 0x20
cmp ax, 0x69
jne 0x14004f093
movzx eax, word [rbx + 2]
mov r8d, eax
sub ax, 0x41
cmp ax, 0x19
ja 0x14004f07c
or r8d, 0x20
cmp r8w, 0x6e
jne 0x14004f093
movzx eax, word [rbx + 4]
cmp ax, 0x20
je 0x14004f0f8
cmp ax, 9
je 0x14004f0f8
cmp cx, 0x7f
ja 0x14004f0b7
mov ecx, edx
call fcn.1400c50f0
test eax, eax
jne 0x14004f0b7
movzx eax, word [rbx]
cmp ax, 0x5f
je 0x14004f0b7
cmp ax, 0x2c
jne 0x14004edc0
movzx eax, word [rbx]
cmp eax, 0x7f
ja 0x14004f0d3
mov ecx, eax
call fcn.1400c5040
test eax, eax
jne 0x14004f0d3
movzx eax, word [rbx]
cmp ax, 0x5f
jne 0x14004f0d9
add rbx, 2
jmp 0x14004f0b7
cmp ax, 0x2c
jne 0x14004f0e3
add rbx, 2
movzx ecx, word [rbx]
cmp cx, 0x20
je 0x14004f0df
cmp cx, 9
jne 0x14004f050
jmp 0x14004f0df
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 0x14004f131
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 0x14004f3db
lea eax, [r13 - 1]
xor r11d, r11d
movsxd r12, eax
mov ebx, r11d
cmp rbx, r13
jge 0x14004f3d0
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 0x14004f310
mov r8d, edx
movsxd rax, r8d
movzx r9d, word [rsi + rax*2]
cmp r9d, 0x2c
je case.0x14004f1bb.0
lea edx, [r8 + 1]
cmp r9d, 0x7d
ja case.0x14004f1bb.4
lea r10, [0x140000000]
movzx eax, byte [r10 + r9 + 0x4f998]
mov ecx, dword [r10 + rax*4 + 0x4f974]
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 0x14004f1fb
test rdi, rdi
je 0x14004f1e5
cmp word [r8], 0
jne 0x14004f21b
movsxd rax, edx
cmp word [rsi + rax*2], 0
je 0x14004f27e
mov r8d, edx
inc r8d
jmp 0x14004f180
test ax, ax
je 0x14004f1e5
cmp ax, 0x60
jne 0x14004f21b
test rdi, rdi
jne 0x14004f21b
cmp word [rcx + 2], di
je 0x14004f21b
inc edx
add r8, 2
add rcx, 2
inc edx
add r8, 2
add rcx, 2
jmp 0x14004f1d0
movsxd rax, r8d
cmp word [rsi + rax*2 + 2], 0x3f
jne case.0x14004f1bb.4
mov r8d, edx
inc r8d
jmp 0x14004f180
mov eax, 0x25
jmp 0x14004f257
mov eax, 0x29
jmp 0x14004f257
mov eax, 0x5d
jmp 0x14004f257
mov eax, 0x7d
mov r8d, edx
mov r9, rdi
movzx edx, ax
mov rcx, rsi
call fcn.14009f120
movsxd r8, eax
cmp word [rsi + r8*2], 0
je case.0x14004f1bb.0
inc r8d
jmp 0x14004f180
mov edx, r8d
xor r11d, r11d
movsxd rax, edx
cmp word [rsi + rax*2], 0
je 0x14004f3b1
cmp rbx, r12
je 0x14004f3cd
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 0x14004f383
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [r9 + rax*2], 0
jne 0x14004f2c0
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 0x14004f2f7
cmp r8w, 9
jne 0x14004f37d
cmp word [rcx], 0
jne 0x14004f37d
test rax, rax
je 0x14004f369
dec rax
sub rcx, 2
jmp 0x14004f2e0
movzx eax, word [rcx]
cmp ax, 0x2c
jne 0x14004f339
test rdi, rdi
je 0x14004f281
cmp word [r8], 0
je 0x14004f281
inc edx
add r8, 2
add rcx, 2
jmp 0x14004f310
test ax, ax
je 0x14004f281
cmp ax, 0x60
jne 0x14004f35d
test rdi, rdi
jne 0x14004f35d
cmp word [rcx + 2], di
je 0x14004f35d
inc edx
add r8, 2
add rcx, 2
inc edx
add r8, 2
add rcx, 2
jmp 0x14004f310
cmp r8w, 0x20
je 0x14004f377
cmp r8w, 9
jne 0x14004f383
mov word [r9], r11w
jmp 0x14004f383
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 0x14004f3a3
cmp ax, 9
jne 0x14004f3b1
cmp word [rcx], 0
jne 0x14004f3b1
inc edx
add rcx, 2
jmp 0x14004f392
movsxd rax, edx
inc r14d
inc rbx
cmp word [rsi + rax*2], 0
je 0x14004f3d0
mov r10d, dword [rbp + 0xcd0]
jmp 0x14004f153
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 0x14004f441
cmp r10b, 1
lea rax, reloc.WSOCK32.dll_WSAStartup
lea r8, [0x1400fbbd0]
cmovg r8, rax
mov qword [rsp + 0x28], r8
lea r8, [0x140105590]
mov dword [rsp + 0x20], ecx
mov r9, qword [r9]
lea rcx, [rbp + 0x460]
mov edx, 0x400
call fcn.14009c880
mov r8, qword [rbp + 0xcb8]
lea rdx, [rbp + 0x460]
mov rcx, qword [rbp + 0xcb0]
call fcn.140010a90
jmp 0x14004df37
movsxd rax, edx
cmp word [rsi + rax*2], 0
je 0x14004f480
cmp r11b, 2
je 0x14004f480
cmp r11b, 0x17
je 0x14004f480
cmp r13d, 1
lea rax, reloc.WSOCK32.dll_WSAStartup
lea r8, [0x1400fbbd0]
cmovg r8, rax
mov qword [rsp + 0x28], r8
lea r8, [0x1401055e0]
mov dword [rsp + 0x20], r13d
jmp 0x14004f40e
mov edx, r12d
cmp r11b, 0x1b
jne 0x14004f48e
mov ecx, r14d
jmp 0x14004f498
cmp r11b, 0x17
jne 0x14004f498
lea ecx, [r14 - 1]
movsxd r8, ecx
test ecx, ecx
jle 0x14004f4bb
mov rcx, r12
mov rax, qword [rbp + rcx*8 + 0x20]
inc edx
cmp word [rax], 0
je 0x14004f574
inc rcx
cmp rcx, r8
jl 0x14004f4a2
test r14d, r14d
je 0x14004f5a6
movzx ebx, byte [rbp + 0xcc0]
cmp r11b, 0x1a
ja 0x14004f5e0
mov ecx, 0x481fd00
bt ecx, r11d
jae 0x14004f5e0
test bl, bl
jne 0x14004f5ad
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 0x14004f500
lea rdx, [rax - 1]
lea rdx, [rcx + rdx*2]
cmp rdx, rcx
jb 0x14004f5ad
cmp word [rdx], 0x7b
jne 0x14004f5ad
mov word [rdx], r12w
cmp word [rcx], 0
mov byte [rbp + 0xcc0], 1
je 0x14004f66a
nop dword [rax]
inc r9
cmp word [rcx + r9*2], 0
jne 0x14004f540
lea rax, [r9 - 1]
lea rax, [rcx + rax*2]
movzx edx, word [rax]
cmp dx, 0x20
je 0x14004f562
cmp dx, 9
jne 0x14004f598
cmp rax, rcx
je 0x14004f666
sub rax, 2
dec r9
jmp 0x14004f553
mov r9, qword [r9]
lea r8, [0x140105630]
mov dword [rsp + 0x20], edx
lea rcx, [rbp + 0x460]
mov edx, 0x400
call fcn.14009c880
jmp 0x14004f422
mov word [rax + 2], r12w
test r9, r9
je 0x14004f66a
movzx ebx, byte [rbp + 0xcc0]
cmp r11b, 0x1a
jne 0x14004f5e0
test r14d, r14d
je 0x14004f5e0
mov rax, qword [rbp + 0x20]
cmp word [rax], 0
jne 0x14004f5e0
mov rcx, qword [rbp + 0xcb0]
lea r8, [0x1400fbbd0]
lea rdx, [0x140105690]
call fcn.140010a90
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.14004fa20
test eax, eax
je 0x14004df35
test bl, bl
je 0x14004f63e
mov byte [rsp + 0x28], 0
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r12
mov dl, 3
mov rcx, r14
call fcn.14004fa20
test eax, eax
je 0x14004df35
mov rax, qword [rbp + 8]
test rax, rax
je 0x14004e2b2
xor r9d, r9d
mov qword [rsp + 0x20], r12
xor r8d, r8d
mov rdx, rax
mov rcx, r14
call fcn.14004dc60
jmp 0x14004df37
mov word [rax], r12w
cmp r11b, 0x1a
ja 0x14004f683
mov ecx, 0x4800400
bt ecx, r11d
jae 0x14004f683
dec r14d
jmp 0x14004f5a6
mov r8, qword [rbp + 0xcb8]
lea rdx, [0x140104f90]
mov rcx, qword [rbp + 0xcb0]
call fcn.140010a90
jmp 0x14004df37