Function at 0x140046890
Capabilities:
Parse credit card information

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x450
mov qword [rsp + 0x3b0], 0xfffffffffffffffe
mov qword [r11 + 0x20], rbx
movaps xmmword [r11 - 0x48], xmm6
movaps xmmword [r11 - 0x58], xmm7
mov rax, qword [0x140127190]
xor rax, rsp
mov qword [rsp + 0x420], rax
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x30], rcx
mov qword [r11 - 0x158], rdx
xor ebp, ebp
mov dword [rsp + 0x40], ebp
lea rcx, [0x140000000]
lea rax, [rcx + 0x124ce8]
mov qword [r11 - 0x3e8], rax
lea rax, [rcx + 0x124ce0]
mov qword [r11 - 0x3d8], rax
lea rax, [0x1400f06e0]
mov qword [r11 - 0x350], rax
mov dword [rsp + 0x40], 2
movsxd rax, dword [0x140124cec]
lea rcx, [0x1400f06c0]
mov qword [rsp + rax + 0xa0], rcx
mov qword [r11 - 0x3e0], rbp
mov rax, qword [r11 - 0x3e8]
movsxd rcx, dword [rax + 4]
lea rcx, [rsp + rcx + 0xa0]
xor r8d, r8d
lea rdx, [r11 - 0x3d0]
call fcn.1400160e0
nop
mov rax, qword [rsp + 0xb0]
movsxd rcx, dword [rax + 4]
lea rax, [0x1400f06b0]
mov qword [rsp + rcx + 0xb0], rax
mov rax, qword [rsp + 0xa0]
movsxd rcx, dword [rax + 4]
lea rax, [0x1400f06d0]
mov qword [rsp + rcx + 0xa0], rax
mov rax, qword [rsp + 0xa0]
movsxd rcx, dword [rax + 4]
lea rax, [0x1400f09e0]
mov qword [rsp + rcx + 0xa0], rax
lea rcx, [rsp + 0xb8]
call fcn.14000d170
nop
lea rax, [0x1400f0878]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x128], rbp
mov dword [rsp + 0x130], ebp
mov qword [rsp + 0x3e8], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x3e0], rbp
mov byte [rsp + 0x3d0], bpl
mov qword [rsp + 0x410], 0xf
mov qword [rsp + 0x408], rbp
mov byte [rsp + 0x3f8], bpl
mov r14d, ebp
mov rbp, qword [rsp + 0x38]
mov rcx, qword [rbp + 0x20]
cmp rcx, 0x10
jb 0x140046a36
lea r15, [rbp + 8]
mov r12, qword [r15]
jmp 0x140046a3d
lea r15, [rbp + 8]
mov r12, r15
test r12, r12
je 0x140046a6c
cmp rcx, 0x10
jb 0x140046a4d
mov rax, qword [r15]
jmp 0x140046a50
mov rax, r15
cmp rax, r12
ja 0x140046a6c
cmp rcx, 0x10
jb 0x140046a60
mov rcx, qword [r15]
jmp 0x140046a63
mov rcx, r15
add rcx, qword [rbp + 0x18]
cmp r12, rcx
jbe 0x140046a71
call fcn.1400ca130
mov rsi, rbp
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], r12
movaps xmm6, xmmword [rsp + 0x50]
movdqa xmm7, xmm6
movaps xmmword [rsp + 0x60], xmm6
mov rbx, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
mov rcx, qword [rbp + 0x20]
cmp rcx, 0x10
jb 0x140046aa5
mov rax, qword [r15]
jmp 0x140046aa8
mov rax, r15
mov rdx, qword [rbp + 0x18]
lea rdi, [rax + rdx]
test rdi, rdi
je 0x140046ade
cmp rcx, 0x10
jb 0x140046ac0
mov rax, qword [r15]
jmp 0x140046ac3
mov rax, r15
cmp rax, rdi
ja 0x140046ade
cmp rcx, 0x10
jb 0x140046ad3
mov rax, qword [r15]
jmp 0x140046ad6
mov rax, r15
add rax, rdx
cmp rdi, rax
jbe 0x140046ae3
call fcn.1400ca130
cmp rbx, 0xfffffffffffffffe
je 0x140046af8
test rbx, rbx
je 0x140046af3
cmp rbx, rbp
je 0x140046af8
call fcn.1400ca130
cmp r13, rdi
je 0x140047929
test r14d, r14d
jne 0x140047035
cmp rbx, 0xfffffffffffffffe
je 0x140046b39
test rbx, rbx
jne 0x140046b1a
call fcn.1400ca130
cmp qword [rbx + 0x20], 0x10
jb 0x140046b27
mov rcx, qword [rbx + 8]
jmp 0x140046b2b
lea rcx, [rbx + 8]
add rcx, qword [rbx + 0x18]
cmp r13, rcx
jb 0x140046b39
call fcn.1400ca130
cmp byte [r13], 0x3d
jne 0x1400478e2
mov rcx, qword [rbp + 0x20]
cmp rcx, 0x10
jb 0x140046b53
mov rax, qword [r15]
jmp 0x140046b56
mov rax, r15
mov rdx, qword [rbp + 0x18]
lea rdi, [rax + rdx]
test rdi, rdi
je 0x140046b8c
cmp rcx, 0x10
jb 0x140046b6e
mov rax, qword [r15]
jmp 0x140046b71
mov rax, r15
cmp rax, rdi
ja 0x140046b8c
cmp rcx, 0x10
jb 0x140046b81
mov rax, qword [r15]
jmp 0x140046b84
mov rax, r15
add rax, rdx
cmp rdi, rax
jbe 0x140046b91
call fcn.1400ca130
movdqa xmmword [rsp + 0x350], xmm7
cmp rbx, 0xfffffffffffffffe
je 0x140046be4
test rbx, rbx
jne 0x140046baa
call fcn.1400ca130
mov r8, qword [rbx + 0x20]
cmp r8, 0x10
jb 0x140046bbd
lea rdx, [rbx + 8]
mov rcx, qword [rdx]
jmp 0x140046bc4
lea rdx, [rbx + 8]
mov rcx, rdx
lea r9, [r13 + 1]
add rcx, qword [rbx + 0x18]
cmp r9, rcx
ja 0x140046bdf
cmp r8, 0x10
jb 0x140046bda
mov rdx, qword [rdx]
cmp r9, rdx
jae 0x140046be4
call fcn.1400ca130
lea rbp, [r13 + 1]
mov rax, qword [rsp + 0x350]
cmp rax, 0xfffffffffffffffe
je 0x140046c0a
test rax, rax
je 0x140046c05
mov r8, qword [rsp + 0x38]
cmp rax, r8
je 0x140046c0a
call fcn.1400ca130
cmp rbp, rdi
je 0x1400478e2
movdqa xmmword [rsp + 0x370], xmm7
cmp rbx, 0xfffffffffffffffe
je 0x140046c62
test rbx, rbx
jne 0x140046c2c
call fcn.1400ca130
mov r8, qword [rbx + 0x20]
cmp r8, 0x10
jb 0x140046c3f
lea rdx, [rbx + 8]
mov rcx, qword [rdx]
jmp 0x140046c46
lea rdx, [rbx + 8]
mov rcx, rdx
add rcx, qword [rbx + 0x18]
cmp rbp, rcx
ja 0x140046c5d
cmp r8, 0x10
jb 0x140046c58
mov rdx, qword [rdx]
cmp rbp, rdx
jae 0x140046c62
call fcn.1400ca130
mov rdi, qword [rsp + 0x370]
cmp rdi, 0xfffffffffffffffe
je 0x140046c99
test rdi, rdi
jne 0x140046c7a
call fcn.1400ca130
cmp qword [rdi + 0x20], 0x10
jb 0x140046c87
mov rcx, qword [rdi + 8]
jmp 0x140046c8b
lea rcx, [rdi + 8]
add rcx, qword [rdi + 0x18]
cmp rbp, rcx
jb 0x140046c99
call fcn.1400ca130
cmp byte [rbp], 0x3f
jne 0x1400478e2
cmp rbx, 0xfffffffffffffffe
je 0x140046cb8
test rbx, rbx
je 0x140046cb3
cmp rbx, rsi
je 0x140046cb8
call fcn.1400ca130
mov rdi, r13
sub rdi, r12
je 0x140046d46
cmp rsi, 0xfffffffffffffffe
je 0x140046cf3
test rsi, rsi
jne 0x140046cd4
call fcn.1400ca130
cmp qword [rsi + 0x20], 0x10
jb 0x140046ce1
mov rcx, qword [rsi + 8]
jmp 0x140046ce5
lea rcx, [rsi + 8]
add rcx, qword [rsi + 0x18]
cmp r12, rcx
jb 0x140046cf3
call fcn.1400ca130
mov rcx, qword [rsp + 0x30]
add rcx, 0x190
mov dword [rsp + 0x20], edi
mov r9, r12
lea rsi, str.us_ascii
mov r8, rsi
lea rdx, [rsp + 0x78]
call fcn.14004ac20
nop
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.1400185d0
nop
cmp qword [rsp + 0x98], 8
jb 0x140046d4d
mov rcx, qword [rsp + 0x80]
call fcn.1400c9d50
jmp 0x140046d4d
lea rsi, str.us_ascii
movdqa xmmword [rsp + 0x1c0], xmm7
cmp rbx, 0xfffffffffffffffe
je 0x140046da0
test rbx, rbx
jne 0x140046d66
call fcn.1400ca130
mov r8, qword [rbx + 0x20]
cmp r8, 0x10
jb 0x140046d79
lea rdx, [rbx + 8]
mov rcx, qword [rdx]
jmp 0x140046d80
lea rdx, [rbx + 8]
mov rcx, rdx
lea r9, [r13 + 2]
add rcx, qword [rbx + 0x18]
cmp r9, rcx
ja 0x140046d9b
cmp r8, 0x10
jb 0x140046d96
mov rdx, qword [rdx]
cmp r9, rdx
jae 0x140046da0
call fcn.1400ca130
lea rax, [r13 + 2]
mov qword [rsp + 0x1c8], rax
movaps xmm6, xmmword [rsp + 0x1c0]
movaps xmmword [rsp + 0x50], xmm6
cmp rbx, 0xfffffffffffffffe
je 0x140046de8
test rbx, rbx
jne 0x140046dc9
call fcn.1400ca130
cmp qword [rbx + 0x20], 0x10
jb 0x140046dd6
mov rcx, qword [rbx + 8]
jmp 0x140046dda
lea rcx, [rbx + 8]
add rcx, qword [rbx + 0x18]
cmp r13, rcx
jb 0x140046de8
call fcn.1400ca130
mov r13, rbp
mov r14d, 1
lea rdi, [rsp + 0x3f8]
mov r8, qword [rsp + 0x3f8]
mov rdx, qword [rsp + 0x410]
cmp rdx, 0x10
cmovae rdi, r8
mov rcx, qword [rsp + 0x408]
add rdi, rcx
je 0x140046e4b
lea rax, [rsp + 0x3f8]
cmp rdx, 0x10
cmovae rax, r8
cmp rax, rdi
ja 0x140046e4b
lea rax, [rsp + 0x3f8]
cmp rdx, 0x10
cmovae rax, r8
add rax, rcx
cmp rdi, rax
jbe 0x140046e58
call fcn.1400ca130
mov r8, qword [rsp + 0x3f8]
lea rax, [rsp + 0x3f0]
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0x1b8], rdi
movaps xmm0, xmmword [rsp + 0x1b0]
movdqa xmmword [rsp + 0x390], xmm0
cmp qword [rsp + 0x410], 0x10
jb 0x140046e96
mov rdi, r8
test r8, r8
je 0x140046edb
jmp 0x140046e9e
lea rdi, [rsp + 0x3f8]
lea rax, [rsp + 0x3f8]
mov rdx, qword [rsp + 0x410]
cmp rdx, 0x10
cmovae rax, r8
cmp rax, rdi
ja 0x140046edb
lea rcx, [rsp + 0x3f8]
cmp rdx, 0x10
cmovae rcx, r8
mov rax, qword [rsp + 0x408]
add rcx, rax
cmp rdi, rcx
jbe 0x140046ee0
call fcn.1400ca130
lea rax, [rsp + 0x3f0]
mov qword [rsp + 0x1e0], rax
mov qword [rsp + 0x1e8], rdi
movaps xmm0, xmmword [rsp + 0x1e0]
movdqa xmmword [rsp + 0x2c0], xmm0
lea r9, [rsp + 0x390]
lea r8, [rsp + 0x2c0]
lea rdx, [rsp + 0x3b8]
lea rcx, [rsp + 0x3f0]
call fcn.14003ebb0
lea r11, [rsp + 0x3d0]
mov r8, qword [rsp + 0x3d0]
mov rdx, qword [rsp + 0x3e8]
cmp rdx, 0x10
cmovae r11, r8
mov rcx, qword [rsp + 0x3e0]
cmp rsi, r11
jb 0x140046fb3
lea rax, [rsp + 0x3d0]
cmp rdx, 0x10
cmovae rax, r8
add rax, rcx
cmp rax, rsi
jbe 0x140046fb3
lea rax, [rsp + 0x3d0]
cmp rdx, 0x10
cmovae rax, r8
mov r8, rsi
sub r8, rax
mov r9d, 8
lea rdx, [rsp + 0x3c8]
lea rcx, [rsp + 0x3c8]
call fcn.1400015a0
mov r12, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
jmp 0x1400478e2
cmp rdx, 8
jae 0x140046fde
mov r8, rcx
mov edx, 8
lea rcx, [rsp + 0x3c8]
call fcn.140001350
mov rdx, qword [rsp + 0x3e8]
mov r8, qword [rsp + 0x3d0]
lea rcx, [rsp + 0x3d0]
cmp rdx, 0x10
cmovae rcx, r8
mov r9d, 8
mov r8, rsi
call fcn.1400c9e10
mov qword [rsp + 0x3e0], 8
lea rax, [rsp + 0x3d0]
cmp qword [rsp + 0x3e8], 0x10
cmovae rax, qword [rsp + 0x3d0]
mov byte [rax + 8], 0
mov r12, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
jmp 0x1400478e2
cmp rbx, 0xfffffffffffffffe
je 0x140047064
test rbx, rbx
jne 0x140047045
call fcn.1400ca130
cmp qword [rbx + 0x20], 0x10
jb 0x140047052
mov rcx, qword [rbx + 8]
jmp 0x140047056
lea rcx, [rbx + 8]
add rcx, qword [rbx + 0x18]
cmp r13, rcx
jb 0x140047064
call fcn.1400ca130
cmp byte [r13], 0x3f
jne 0x1400478e2
mov ecx, r14d
add r14d, 1
sub ecx, 1
je 0x140047710
sub ecx, 1
je 0x1400475af
cmp ecx, 1
jne 0x14004786c
mov rcx, qword [rbp + 0x20]
cmp rcx, 0x10
jb 0x1400470a0
mov rax, qword [r15]
jmp 0x1400470a3
mov rax, r15
mov rdx, qword [rbp + 0x18]
lea rdi, [rdx + rax]
test rdi, rdi
je 0x1400470d9
cmp rcx, 0x10
jb 0x1400470bb
mov rax, qword [r15]
jmp 0x1400470be
mov rax, r15
cmp rax, rdi
ja 0x1400470d9
cmp rcx, 0x10
jb 0x1400470ce
mov rax, qword [r15]
jmp 0x1400470d1
mov rax, r15
add rax, rdx
cmp rdi, rax
jbe 0x1400470de
call fcn.1400ca130
movdqa xmmword [rsp + 0x380], xmm7
cmp rbx, 0xfffffffffffffffe
je 0x140047131
test rbx, rbx
jne 0x1400470f7
call fcn.1400ca130
mov r8, qword [rbx + 0x20]
cmp r8, 0x10
jb 0x14004710a
lea rdx, [rbx + 8]
mov rcx, qword [rdx]
jmp 0x140047111
lea rdx, [rbx + 8]
mov rcx, rdx
lea r9, [r13 + 1]
add rcx, qword [rbx + 0x18]
cmp r9, rcx
ja 0x14004712c
cmp r8, 0x10
jb 0x140047127
mov rdx, qword [rdx]
cmp r9, rdx
jae 0x140047131
call fcn.1400ca130
lea rbp, [r13 + 1]
mov rax, qword [rsp + 0x380]
cmp rax, 0xfffffffffffffffe
je 0x140047157
test rax, rax
je 0x140047152
mov r8, qword [rsp + 0x38]
cmp rax, r8
je 0x140047157
call fcn.1400ca130
cmp rbp, rdi
je 0x1400475a6
movdqa xmmword [rsp + 0x2f0], xmm7
cmp rbx, 0xfffffffffffffffe
je 0x1400471af
test rbx, rbx
jne 0x140047179
call fcn.1400ca130
mov r8, qword [rbx + 0x20]
cmp r8, 0x10
jb 0x14004718c
lea rdx, [rbx + 8]
mov rcx, qword [rdx]
jmp 0x140047193
lea rdx, [rbx + 8]
mov rcx, rdx
add rcx, qword [rbx + 0x18]
cmp rbp, rcx
ja 0x1400471aa
cmp r8, 0x10
jb 0x1400471a5
mov rdx, qword [rdx]
cmp rbp, rdx
jae 0x1400471af
call fcn.1400ca130
mov rdi, qword [rsp + 0x2f0]
cmp rdi, 0xfffffffffffffffe
je 0x1400471e6
test rdi, rdi
jne 0x1400471c7
call fcn.1400ca130
cmp qword [rdi + 0x20], 0x10
jb 0x1400471d4
mov rcx, qword [rdi + 8]
jmp 0x1400471d8
lea rcx, [rdi + 8]
add rcx, qword [rdi + 0x18]
cmp rbp, rcx
jb 0x1400471e6
call fcn.1400ca130
cmp byte [rbp], 0x3d
jne 0x1400475a6
cmp qword [rsp + 0x408], 0
jbe 0x140047499
lea rax, [rsp + 0x3f8]
mov rcx, qword [rsp + 0x3f8]
cmp qword [rsp + 0x410], 0x10
cmovae rax, rcx
cmp byte [rax], 0x42
jne 0x140047350
cmp rbx, 0xfffffffffffffffe
je 0x14004723a
test rbx, rbx
je 0x140047235
cmp rbx, rsi
je 0x14004723a
call fcn.1400ca130
mov rdi, r13
sub rdi, r12
cmp rsi, 0xfffffffffffffffe
je 0x14004726f
test rsi, rsi
jne 0x140047250
call fcn.1400ca130
cmp qword [rsi + 0x20], 0x10
jb 0x14004725d
mov rcx, qword [rsi + 8]
jmp 0x140047261
lea rcx, [rsi + 8]
add rcx, qword [rsi + 0x18]
cmp r12, rcx
jb 0x14004726f
call fcn.1400ca130
mov r8d, edi
mov rdx, r12
lea rcx, [rsp + 0x298]
call fcn.140042080
nop
cmp qword [rax + 0x20], 0x10
jb 0x140047290
mov r9, qword [rax + 8]
jmp 0x140047294
lea r9, [rax + 8]
lea r8, [rsp + 0x3d0]
cmp qword [rsp + 0x3e8], 0x10
cmovae r8, qword [rsp + 0x3d0]
mov rcx, qword [rsp + 0x30]
add rcx, 0x190
mov dword [rsp + 0x20], 0xffffffff
lea rdx, [rsp + 0x220]
call fcn.14004ac20
nop
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.1400185d0
nop
cmp qword [rsp + 0x240], 8
jb 0x1400472f9
mov rcx, qword [rsp + 0x228]
call fcn.1400c9d50
mov qword [rsp + 0x240], 7
xor edi, edi
mov qword [rsp + 0x238], rdi
mov word [rsp + 0x228], di
cmp qword [rsp + 0x2b8], 0x10
jb 0x14004732f
mov rcx, qword [rsp + 0x2a0]
call fcn.1400c9d50
mov qword [rsp + 0x2b8], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x2b0], rdi
mov byte [rsp + 0x2a0], 0
jmp 0x140047562
lea rax, [rsp + 0x3f8]
cmp qword [rsp + 0x410], 0x10
cmovae rax, rcx
cmp byte [rax], 0x51
jne 0x140047499
cmp rbx, 0xfffffffffffffffe
je 0x140047383
test rbx, rbx
je 0x14004737e
cmp rbx, rsi
je 0x140047383
call fcn.1400ca130
mov rdi, r13
sub rdi, r12
cmp rsi, 0xfffffffffffffffe
je 0x1400473b8
test rsi, rsi
jne 0x140047399
call fcn.1400ca130
cmp qword [rsi + 0x20], 0x10
jb 0x1400473a6
mov rcx, qword [rsi + 8]
jmp 0x1400473aa
lea rcx, [rsi + 8]
add rcx, qword [rsi + 0x18]
cmp r12, rcx
jb 0x1400473b8
call fcn.1400ca130
mov r8d, edi
mov rdx, r12
lea rcx, [rsp + 0x248]
call fcn.140046360
nop
cmp qword [rax + 0x20], 0x10
jb 0x1400473d9
mov r9, qword [rax + 8]
jmp 0x1400473dd
lea r9, [rax + 8]
lea r8, [rsp + 0x3d0]
cmp qword [rsp + 0x3e8], 0x10
cmovae r8, qword [rsp + 0x3d0]
mov rcx, qword [rsp + 0x30]
add rcx, 0x190
mov dword [rsp + 0x20], 0xffffffff
lea rdx, [rsp + 0x270]
call fcn.14004ac20
nop
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.1400185d0
nop
cmp qword [rsp + 0x290], 8
jb 0x140047442
mov rcx, qword [rsp + 0x278]
call fcn.1400c9d50
mov qword [rsp + 0x290], 7
xor edi, edi
mov qword [rsp + 0x288], rdi
mov word [rsp + 0x278], di
cmp qword [rsp + 0x268], 0x10
jb 0x140047478
mov rcx, qword [rsp + 0x250]
call fcn.1400c9d50
mov qword [rsp + 0x268], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x260], rdi
mov byte [rsp + 0x250], 0
jmp 0x140047562
cmp rbx, 0xfffffffffffffffe
je 0x1400474ae
test rbx, rbx
je 0x1400474a9
cmp rbx, rsi
je 0x1400474ae
call fcn.1400ca130
mov rdi, r13
sub rdi, r12
cmp rsi, 0xfffffffffffffffe
je 0x1400474e3
test rsi, rsi
jne 0x1400474c4
call fcn.1400ca130
cmp qword [rsi + 0x20], 0x10
jb 0x1400474d1
mov rcx, qword [rsi + 8]
jmp 0x1400474d5
lea rcx, [rsi + 8]
add rcx, qword [rsi + 0x18]
cmp r12, rcx
jb 0x1400474e3
call fcn.1400ca130
lea r8, [rsp + 0x3d0]
cmp qword [rsp + 0x3e8], 0x10
cmovae r8, qword [rsp + 0x3d0]
mov rcx, qword [rsp + 0x30]
add rcx, 0x190
mov dword [rsp + 0x20], edi
mov r9, r12
lea rdx, [rsp + 0x78]
call fcn.14004ac20
nop
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.1400185d0
nop
cmp qword [rsp + 0x98], 8
jb 0x140047544
mov rcx, qword [rsp + 0x80]
call fcn.1400c9d50
mov qword [rsp + 0x98], 7
xor edi, edi
mov qword [rsp + 0x90], rdi
mov word [rsp + 0x80], di
cmp rbx, 0xfffffffffffffffe
je 0x140047591
test rbx, rbx
jne 0x140047572
call fcn.1400ca130
cmp qword [rbx + 0x20], 0x10
jb 0x14004757f
mov rcx, qword [rbx + 8]
jmp 0x140047583
lea rcx, [rbx + 8]
add rcx, qword [rbx + 0x18]
cmp r13, rcx
jb 0x140047591
call fcn.1400ca130
mov r13, rbp
mov qword [rsp + 0x68], rbp
mov r14d, edi
movaps xmm7, xmmword [rsp + 0x60]
jmp 0x14004786c
sub r14d, 1
jmp 0x14004786c
movdqa xmmword [rsp + 0x310], xmm7
movdqa xmmword [rsp + 0x300], xmm6
lea rdi, [rsp + 0x3f8]
mov r8, qword [rsp + 0x3f8]
mov rdx, qword [rsp + 0x410]
cmp rdx, 0x10
cmovae rdi, r8
mov rcx, qword [rsp + 0x408]
add rdi, rcx
je 0x14004761b
lea rax, [rsp + 0x3f8]
cmp rdx, 0x10
cmovae rax, r8
cmp rax, rdi
ja 0x14004761b
lea rax, [rsp + 0x3f8]
cmp rdx, 0x10
cmovae rax, r8
add rax, rcx
cmp rdi, rax
jbe 0x140047628
call fcn.1400ca130
mov r8, qword [rsp + 0x3f8]
lea rax, [rsp + 0x3f0]
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], rdi
movaps xmm0, xmmword [rsp + 0x1a0]
movdqa xmmword [rsp + 0x360], xmm0
cmp qword [rsp + 0x410], 0x10
jb 0x140047666
mov rdi, r8
test r8, r8
je 0x1400476ab
jmp 0x14004766e
lea rdi, [rsp + 0x3f8]
lea rax, [rsp + 0x3f8]
mov rdx, qword [rsp + 0x410]
cmp rdx, 0x10
cmovae rax, r8
cmp rax, rdi
ja 0x1400476ab
lea rcx, [rsp + 0x3f8]
cmp rdx, 0x10
cmovae rcx, r8
mov rax, qword [rsp + 0x408]
add rcx, rax
cmp rdi, rcx
jbe 0x1400476b0
call fcn.1400ca130
lea rax, [rsp + 0x3f0]
mov qword [rsp + 0x1f0], rax
mov qword [rsp + 0x1f8], rdi
movaps xmm0, xmmword [rsp + 0x1f0]
movdqa xmmword [rsp + 0x320], xmm0
lea rax, [rsp + 0x310]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x300]
lea r8, [rsp + 0x360]
lea rdx, [rsp + 0x320]
lea rcx, [rsp + 0x3f0]
call fcn.140042240
jmp 0x14004786c
movdqa xmmword [rsp + 0x3a0], xmm7
movdqa xmmword [rsp + 0x340], xmm6
lea rdi, [rsp + 0x3d0]
mov rdx, qword [rsp + 0x3d0]
mov r8, qword [rsp + 0x3e8]
cmp r8, 0x10
cmovae rdi, rdx
mov rcx, qword [rsp + 0x3e0]
add rdi, rcx
je 0x14004777c
lea rax, [rsp + 0x3d0]
cmp r8, 0x10
cmovae rax, rdx
cmp rax, rdi
ja 0x14004777c
lea rax, [rsp + 0x3d0]
cmp r8, 0x10
cmovae rax, rdx
add rax, rcx
cmp rdi, rax
jbe 0x140047789
call fcn.1400ca130
mov rdx, qword [rsp + 0x3d0]
lea rax, [rsp + 0x3c8]
mov qword [rsp + 0x210], rax
mov qword [rsp + 0x218], rdi
movaps xmm0, xmmword [rsp + 0x210]
movdqa xmmword [rsp + 0x2e0], xmm0
cmp qword [rsp + 0x3e8], 0x10
jb 0x1400477c7
mov rdi, rdx
test rdx, rdx
je 0x14004780c
jmp 0x1400477cf
lea rdi, [rsp + 0x3d0]
lea rax, [rsp + 0x3d0]
mov r8, qword [rsp + 0x3e8]
cmp r8, 0x10
cmovae rax, rdx
cmp rax, rdi
ja 0x14004780c
lea rcx, [rsp + 0x3d0]
cmp r8, 0x10
cmovae rcx, rdx
mov rax, qword [rsp + 0x3e0]
add rcx, rax
cmp rdi, rcx
jbe 0x140047811
call fcn.1400ca130
lea rax, [rsp + 0x3c8]
mov qword [rsp + 0x200], rax
mov qword [rsp + 0x208], rdi
movaps xmm0, xmmword [rsp + 0x200]
movdqa xmmword [rsp + 0x2d0], xmm0
lea rax, [rsp + 0x3a0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x340]
lea r8, [rsp + 0x2e0]
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x3c8]
call fcn.140042240
movdqa xmmword [rsp + 0x1d0], xmm7
cmp rbx, 0xfffffffffffffffe
je 0x1400478bf
test rbx, rbx
jne 0x140047885
call fcn.1400ca130
mov r8, qword [rbx + 0x20]
cmp r8, 0x10
jb 0x140047898
lea rdx, [rbx + 8]
mov rcx, qword [rdx]
jmp 0x14004789f
lea rdx, [rbx + 8]
mov rcx, rdx
lea r9, [r13 + 1]
add rcx, qword [rbx + 0x18]
cmp r9, rcx
ja 0x1400478ba
cmp r8, 0x10
jb 0x1400478b5
mov rdx, qword [rdx]
cmp r9, rdx
jae 0x1400478bf
call fcn.1400ca130
lea rax, [r13 + 1]
mov qword [rsp + 0x1d8], rax
movaps xmm6, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0x50], xmm6
mov r12, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
cmp rbx, 0xfffffffffffffffe
je 0x140047911
test rbx, rbx
jne 0x1400478f2
call fcn.1400ca130
cmp qword [rbx + 0x20], 0x10
jb 0x1400478ff
mov rcx, qword [rbx + 8]
jmp 0x140047903
lea rcx, [rbx + 8]
add rcx, qword [rbx + 0x18]
cmp r13, rcx
jb 0x140047911
call fcn.1400ca130
add r13, 1
mov qword [rsp + 0x68], r13
movaps xmm7, xmmword [rsp + 0x60]
mov rbp, qword [rsp + 0x38]
jmp 0x140046a96
mov rax, qword [rbp + 0x20]
cmp rax, 0x10
jb 0x140047938
mov rcx, qword [r15]
jmp 0x14004793b
mov rcx, r15
mov rdx, qword [rbp + 0x18]
lea rbx, [rcx + rdx]
test rbx, rbx
je 0x14004796d
cmp rax, 0x10
jb 0x140047953
mov rcx, qword [r15]
jmp 0x140047956
mov rcx, r15
cmp rcx, rbx
ja 0x14004796d
cmp rax, 0x10
jb 0x140047964
mov r15, qword [r15]
lea rax, [r15 + rdx]
cmp rbx, rax
jbe 0x140047972
call fcn.1400ca130
cmp rbp, 0xfffffffffffffffe
je 0x140047982
cmp rbp, rsi
je 0x140047982
call fcn.1400ca130
sub rbx, r12
je 0x140047a04
cmp rsi, 0xfffffffffffffffe
je 0x1400479b6
test rsi, rsi
jne 0x140047997
call fcn.1400ca130
cmp qword [rsi + 0x20], 0x10
jb 0x1400479a4
mov rcx, qword [rsi + 8]
jmp 0x1400479a8
lea rcx, [rsi + 8]
add rcx, qword [rsi + 0x18]
cmp r12, rcx
jb 0x1400479b6
call fcn.1400ca130
mov rcx, qword [rsp + 0x30]
add rcx, 0x190
mov dword [rsp + 0x20], ebx
mov r9, r12
lea r8, str.us_ascii
lea rdx, [rsp + 0x78]
call fcn.14004ac20
nop
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.1400185d0
nop
cmp qword [rsp + 0x98], 8
jb 0x140047a04
mov rcx, qword [rsp + 0x80]
call fcn.1400c9d50
xor ebp, ebp
mov ebx, ebp
mov rax, qword [rsp + 0xb0]
movsxd rcx, dword [rax + 4]
test byte [rsp + rcx + 0xc0], 6
jne 0x140047a3f
mov rcx, qword [rsp + rcx + 0xf8]
mov rax, qword [rcx]
call qword [rax + 0x60]
mov ecx, 4
cmp eax, 0xffffffff
cmove ebx, ecx
mov rax, qword [rsp + 0xb0]
movsxd rax, dword [rax + 4]
lea rcx, [rsp + rax + 0xb0]
test ebx, ebx
je 0x140047a65
mov edx, dword [rcx + 0x10]
or edx, ebx
cmp qword [rcx + 0x48], rbp
jne 0x140047a5d
or edx, 4
xor r8d, r8d
call fcn.140014d50
mov rsi, qword [rsp + 0x70]
mov rdx, rsi
lea rcx, [rsp + 0xa0]
call fcn.140013ab0
mov dword [rsp + 0x40], 3
cmp qword [rsp + 0x410], 0x10
jb 0x140047a9a
mov rcx, qword [rsp + 0x3f8]
call fcn.1400c9d50
mov qword [rsp + 0x410], 0xf
mov qword [rsp + 0x408], rbp
mov byte [rsp + 0x3f8], 0
cmp qword [rsp + 0x3e8], 0x10
jb 0x140047ace
mov rcx, qword [rsp + 0x3d0]
call fcn.1400c9d50
mov qword [rsp + 0x3e8], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x3e0], rbp
mov byte [rsp + 0x3d0], 0
lea rax, [rsp + 0x138]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0xa0]
movsxd rcx, dword [rax + 4]
lea rax, [0x1400f09e0]
mov qword [rsp + rcx + 0xa0], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x38], rax
lea rax, [0x1400f0878]
mov qword [rsp + 0xb8], rax
test byte [rsp + 0x130], 1
je 0x140047b48
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rax]
call fcn.1400c9d50
mov rax, qword [rsp + 0xd8]
mov qword [rax], rbp
mov rax, qword [rsp + 0xf8]
mov qword [rax], rbp
mov rax, qword [rsp + 0x110]
mov dword [rax], ebp
mov rax, qword [rsp + 0xe0]
mov qword [rax], rbp
mov rax, qword [rsp + 0x100]
mov qword [rax], rbp
mov rax, qword [rsp + 0x118]
mov dword [rax], ebp
mov qword [rsp + 0x128], rbp
and dword [rsp + 0x130], 0xfffffffe
lea rax, [0x1400f07d8]
mov qword [rsp + 0xb8], rax
mov rdi, qword [rsp + 0x120]
test rdi, rdi
je 0x140047c0e
mov rbx, qword [rdi]
test rbx, rbx
je 0x140047c05
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.14009cae0
mov rax, qword [rbx + 8]
test rax, rax
je 0x140047bdf
cmp rax, 0xffffffffffffffff
jae 0x140047bdf
add rax, 0xffffffffffffffff
mov qword [rbx + 8], rax
cmp qword [rbx + 8], 0
cmove rbp, rbx
lea rcx, [rsp + 0x30]
call fcn.14009cb10
test rbp, rbp
je 0x140047c05
mov rax, qword [rbp]
mov edx, 1
mov rcx, rbp
call qword [rax]
mov rcx, rdi
call fcn.1400c9d50
nop
lea rcx, [rsp + 0xc0]
call fcn.14009d250
nop
mov rax, qword [rsp + 0xa0]
movsxd rcx, dword [rax + 4]
lea rax, [0x1400f06d0]
mov qword [rsp + rcx + 0xa0], rax
mov rcx, qword [rsp + 0xb0]
movsxd rdx, dword [rcx + 4]
lea rax, [0x1400f06b0]
mov qword [rsp + rdx + 0xb0], rax
mov rcx, qword [rsp + 0xa0]
movsxd rdx, dword [rcx + 4]
lea rax, [0x1400f06c0]
mov qword [rsp + rdx + 0xa0], rax
lea rax, [0x1400f06a0]
mov qword [rsp + 0x138], rax
lea rcx, [rsp + 0x138]
call fcn.14009d110
mov rax, rsi
mov rcx, qword [rsp + 0x420]
xor rcx, rsp
call fcn.1400caf00
lea r11, [rsp + 0x450]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret