Function at 0x1401f19f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x58
mov dword [r9], 0
mov esi, r8d
cmp qword [rcx + 0x1b8], 0
mov rbp, rdx
mov edi, dword [rcx + 0x2c]
mov rbx, rcx
mov dword [rsp + 0x90], edi
mov qword [rsp + 0x88], rdx
mov dword [rsp + 0x80], r8d
jne 0x1401f1a4d
mov ecx, edi
call fcn.14011a720
mov qword [rbx + 0x1b8], rax
test rax, rax
jne 0x1401f1a4d
add rsp, 0x58
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov qword [rsp + 0x50], r12
mov r12d, 1
mov qword [rsp + 0x48], r13
mov r13, qword [rsp + 0xa8]
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], r15
mov r15, qword [rsp + 0xb0]
lea r8, [0x140000000]
mov r11, qword [rsp + 0xa0]
mov r10d, reloc.WS2_32.dll_inet_addr
lea edx, [r10 - 8]
test esi, esi
jg 0x1401f1aa1
cmp dword [rbx + 0x1b4], 0
jle 0x1401f23d0
mov r9d, dword [rbx + 0x1b4]
cmp r9d, 0x18
jge 0x1401f1ada
mov ecx, r9d
test esi, esi
jle 0x1401f1ada
movzx eax, byte [rbp]
lea r9d, [rcx + 8]
shl eax, cl
inc rbp
or dword [rbx + 0x1b0], eax
dec esi
mov dword [rbx + 0x1b4], r9d
mov ecx, r9d
cmp r9d, 0x18
jl 0x1401f1ab1
movsxd rax, dword [rbx + 0x30]
cmp eax, 0xd
ja case.default.0x1401f1aee
mov ecx, dword [r8 + rax*4 + 0x1f2470]
add rcx, r8
jmp rcx
mov byte [rbx + 0x20], r12b
cmp r9d, 0x10
jl 0x1401f23d0
mov ecx, dword [rbx + 0x1b0]
mov eax, ecx
shr eax, 8
movzx r8d, al
movzx eax, cl
shl eax, 8
or r8d, eax
shr ecx, 0x10
lea eax, [r9 - 0x10]
mov dword [rbx + 0x1b0], ecx
mov dword [rbx + 0x1b4], eax
mov eax, r8d
and eax, 0xf00
cmp eax, 0x800
jne 0x1401f22a6
mov eax, r8d
and eax, 0xf000
cmp eax, 0x7000
ja 0x1401f22a6
test r8b, 0x20
jne 0x1401f22a6
mov eax, 0x84210843
imul r8d
add edx, r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul ecx, edx, 0x1f
cmp r8d, ecx
jne 0x1401f22a6
mov dword [rbx + 0x30], r12d
jmp 0x1401f1a77
cmp byte [rbx + 0x28], 0
je 0x1401f1b9f
cmp byte [rbx + 0x20], 0
je 0x1401f23c2
mov dword [rbx + 0x30], ntohs
jmp case.default.0x1401f1aee
cmp r9d, 3
jl 0x1401f23d0
movzx eax, byte [rbx + 0x1b0]
add r9d, 0xfffffffd
and al, r12b
mov dword [rbx + 0x1b4], r9d
mov byte [rbx + 0x28], al
mov eax, dword [rbx + 0x1b0]
shr eax, 1
mov ecx, eax
shr eax, 2
mov dword [rbx + 0x1b0], eax
and ecx, 3
jne 0x1401f1bfd
mov ecx, r9d
mov dword [rbx + 0x30], 0xa
and ecx, 7
sub r9d, ecx
shr eax, cl
mov dword [rbx + 0x1b0], eax
mov dword [rbx + 0x1b4], r9d
jmp case.default.0x1401f1aee
cmp ecx, r12d
jne 0x1401f1c24
mov rax, qword [0x140549ac0]
mov qword [rbx + 8], rax
mov rax, qword [0x140549ac8]
mov qword [rbx + 0x10], rax
mov dword [rbx + 0x30], 6
jmp case.default.0x1401f1aee
cmp ecx, 2
jne case.default.0x1401f1aee
mov dword [rbx + 0x30], ecx
jmp case.default.0x1401f1aee
cmp r9d, 0xe
jl 0x1401f23d0
mov ecx, dword [rbx + 0x1b0]
xorps xmm0, xmm0
mov eax, ecx
mov dword [rbx + 0x44], 0
and eax, 0x1f
shr ecx, 5
add eax, 0x101
mov dword [rbx + 0x30], edx
mov dword [rbx + 0x38], eax
mov eax, ecx
and eax, 0x1f
shr ecx, 5
inc eax
mov dword [rbx + 0x3c], eax
mov eax, ecx
and eax, 0xf
shr ecx, 4
add eax, 4
mov dword [rbx + 0x1b0], ecx
mov dword [rbx + 0x40], eax
lea eax, [r9 - 0xe]
mov dword [rbx + 0x1b4], eax
xor eax, eax
movups xmmword [rbx + 0x5c], xmm0
mov word [rbx + 0x6c], ax
mov byte [rbx + 0x6e], al
jmp case.default.0x1401f1aee
cmp r9d, 3
jl 0x1401f23d0
mov eax, dword [rbx + 0x44]
mov ecx, dword [rbx + 0x40]
cmp eax, ecx
jge 0x1401f1cfd
mov edx, eax
cmp r9d, 3
jl 0x1401f1cfb
movzx ecx, byte [rbx + 0x1b0]
and cl, 7
movsxd rax, edx
movzx eax, byte [rax + r8 + 0x361d28]
mov byte [rax + rbx + 0x5c], cl
add dword [rbx + 0x1b4], 0xfffffffd
mov eax, dword [rbx + 0x44]
shr dword [rbx + 0x1b0], 3
inc eax
mov r9d, dword [rbx + 0x1b4]
mov edx, eax
mov dword [rbx + 0x44], eax
mov ecx, dword [rbx + 0x40]
cmp eax, ecx
jl 0x1401f1cb5
cmp eax, ecx
jne case.default.0x1401f1aee
lea rcx, [rbx + 0x5c]
mov edx, reloc.WS2_32.dll_send
call fcn.1401f1440
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x30], 4
mov dword [rbx + 0x44], 0
jmp 0x1401f1a77
mov ecx, dword [rbx + 0x3c]
mov edx, dword [rbx + 0x38]
add ecx, edx
cmp dword [rbx + 0x44], ecx
jl 0x1401f1d7d
lea rcx, [rbx + 0x6f]
call fcn.1401f1440
movsxd rcx, dword [rbx + 0x38]
mov edx, dword [rbx + 0x3c]
add rcx, 0x6f
add rcx, rbx
mov qword [rbx + 8], rax
call fcn.1401f1440
lea rcx, [rbx + 0x18]
mov qword [rbx + 0x10], rax
call fcn.1401f18a0
mov qword [rbx + 0x18], 0
mov dword [rbx + 0x30], 6
mov edi, dword [rsp + 0x90]
jmp 0x1401f1a77
mov r8, qword [rbx + 0x18]
lea rdx, [rbx + 0x1b4]
lea rcx, [rbx + 0x1b0]
call fcn.1401f1950
mov edx, eax
cmp eax, 0xffffffff
je 0x1401f23c8
cmp eax, 0xfffffffe
je 0x1401f22b7
cmp eax, 0x10
jge 0x1401f1dbd
movsxd rcx, dword [rbx + 0x44]
mov byte [rcx + rbx + 0x6f], dl
inc dword [rbx + 0x44]
jmp 0x1401f1a77
jne 0x1401f1de9
movsxd rax, dword [rbx + 0x44]
mov dword [rbx + 0x48], 2
mov dword [rbx + 0x4c], 3
test eax, eax
jle 0x1401f1e0c
movzx ecx, byte [rax + rbx + 0x6e]
mov dword [rbx + 0x54], ecx
mov dword [rbx + 0x30], 5
jmp 0x1401f1a77
mov ecx, 3
cmp edx, 0x11
mov eax, 7
cmove eax, ecx
cmp edx, 0x12
mov dword [rbx + 0x48], eax
mov eax, ecx
mov ecx, reloc.WS2_32.dll_inet_addr
cmove eax, ecx
mov dword [rbx + 0x4c], eax
xor ecx, ecx
mov dword [rbx + 0x30], 5
mov dword [rbx + 0x54], ecx
jmp 0x1401f1a77
mov ecx, dword [rbx + 0x48]
cmp r9d, ecx
jl 0x1401f23d0
mov eax, dword [rbx + 0x1b0]
sub r9d, ecx
mov edx, r12d
mov dword [rbx + 0x1b4], r9d
shl edx, cl
dec edx
and edx, eax
shr eax, cl
add edx, dword [rbx + 0x4c]
mov dword [rbx + 0x1b0], eax
test edx, edx
jle 0x1401f1e70
mov eax, dword [rbx + 0x3c]
add eax, dword [rbx + 0x38]
movsxd rcx, dword [rbx + 0x44]
cmp ecx, eax
jge 0x1401f1e70
movzx eax, byte [rbx + 0x54]
dec edx
mov byte [rcx + rbx + 0x6f], al
inc dword [rbx + 0x44]
test edx, edx
jg 0x1401f1e51
mov dword [rbx + 0x30], 4
jmp case.default.0x1401f1aee
mov r8, qword [rbx + 8]
lea rdx, [rbx + 0x1b4]
lea rcx, [rbx + 0x1b0]
call fcn.1401f1950
cmp eax, 0xffffffff
je 0x1401f23c8
cmp eax, 0xfffffffe
je 0x1401f22c7
cmp eax, 0x100
jge 0x1401f1f20
movsxd rdx, dword [rbx + 0x1c0]
mov rcx, qword [rbx + 0x1b8]
mov byte [rdx + rcx], al
mov r8d, dword [rbx + 0x1c0]
inc r8d
mov dword [rbx + 0x1c0], r8d
cmp r8d, dword [rbx + 0x2c]
jne 0x1401f1d71
movsxd rax, dword [rbx + 0x1c4]
mov r9, r13
mov rcx, qword [rsp + 0xa0]
mov rdx, rax
add rdx, qword [rbx + 0x1b8]
sub r8d, eax
mov qword [rsp + 0x20], r15
call fcn.140186590
mov qword [rbx + 0x1c0], 0
test al, al
je 0x1401f22bf
mov edi, dword [rsp + 0x90]
jmp 0x1401f1a77
jne 0x1401f1f72
mov dword [rbx + 0x30], r12d
mov rax, qword [0x140549ac0]
cmp qword [rbx + 8], rax
je 0x1401f1f44
lea rcx, [rbx + 8]
call fcn.1401f18a0
mov qword [rbx + 8], 0
mov rax, qword [0x140549ac8]
cmp qword [rbx + 0x10], rax
je 0x1401f1d71
lea rcx, [rbx + 0x10]
call fcn.1401f18a0
mov edi, dword [rsp + 0x90]
mov qword [rbx + 0x10], 0
jmp 0x1401f1a77
mov edi, dword [rsp + 0x90]
lea r8, [0x140000000]
cmp eax, 0x11e
jge case.default.0x1401f1aee
mov dword [rbx + 0x30], 7
mov dword [rbx + 0x34], eax
jmp case.default.0x1401f1aee
movsxd rax, dword [rbx + 0x34]
lea rcx, [0x140361722]
sub rax, 0x101
lea r10, [0x140361882]
cmp edi, 0x10000
cmovne r10, rcx
lea rax, [rax + rax*2]
lea r11, [rax*4]
movsx ecx, word [r10 + r11]
cmp r9d, ecx
jl 0x1401f23c8
mov r8d, dword [rbx + 0x1b0]
lea rax, [0x140361724]
cmp edi, 0x10000
lea rdx, [0x140361884]
cmovne rdx, rax
mov eax, r12d
shl eax, cl
dec eax
and eax, r8d
add eax, dword [rdx + r11]
mov dword [rbx + 0x50], eax
movsx eax, word [r10 + r11]
sub r9d, eax
mov dword [rbx + 0x1b4], r9d
movzx ecx, byte [r10 + r11]
shr r8d, cl
mov dword [rbx + 0x1b0], r8d
mov dword [rbx + 0x30], 8
jmp 0x1401f1a77
mov r8, qword [rbx + 0x10]
lea rdx, [rbx + 0x1b4]
lea rcx, [rbx + 0x1b0]
call fcn.1401f1950
cmp eax, 0xffffffff
je 0x1401f23c8
cmp eax, 0xfffffffe
je 0x1401f22cf
mov dword [rbx + 0x30], 9
mov dword [rbx + 0x34], eax
jmp 0x1401f1a77
movsxd rax, dword [rbx + 0x34]
lea r10, [0x140361b52]
cmp edi, 0x10000
lea rcx, [rax + rax*2]
lea r8, [rcx*4]
lea rcx, [0x1403619e2]
cmovne r10, rcx
movsx ecx, word [r10 + r8]
cmp r9d, ecx
jl 0x1401f23d0
mov edx, dword [rbx + 0x1b0]
lea rax, [0x140361b54]
cmp edi, 0x10000
lea rdi, [0x1403619e4]
cmovne rax, rdi
sub r9d, ecx
mov edi, r12d
shl edi, cl
dec edi
and edi, edx
add edi, dword [rax + r8]
mov eax, dword [rbx + 0x50]
mov dword [rbx + 0x1b4], r9d
movzx ecx, byte [r10 + r8]
shr edx, cl
mov dword [rbx + 0x1b0], edx
mov dword [rbx + 0x30], 6
test eax, eax
je 0x1401f218c
nop dword [rax]
nop word [rax + rax]
movsxd rcx, dword [rbx + 0x1c0]
dec eax
mov r8, qword [rbx + 0x1b8]
mov dword [rbx + 0x50], eax
mov eax, ecx
sub eax, edi
movsxd rdx, eax
movsxd rax, dword [rbx + 0x2c]
dec rax
and rdx, rax
movzx eax, byte [rdx + r8]
mov byte [rcx + r8], al
mov r8d, dword [rbx + 0x1c0]
inc r8d
mov dword [rbx + 0x1c0], r8d
cmp r8d, dword [rbx + 0x2c]
jne 0x1401f2181
movsxd rax, dword [rbx + 0x1c4]
mov r9, r13
mov rdx, rax
mov qword [rsp + 0x20], r15
add rdx, qword [rbx + 0x1b8]
sub r8d, eax
mov rcx, r11
call fcn.140186590
mov r11, qword [rsp + 0xa0]
xor ecx, ecx
mov qword [rbx + 0x1c0], rcx
test al, al
je 0x1401f22d7
mov eax, dword [rbx + 0x50]
test eax, eax
jne 0x1401f2100
mov edi, dword [rsp + 0x90]
dec eax
mov dword [rbx + 0x50], eax
jmp 0x1401f1a77
cmp r9d, 0x10
jl 0x1401f23d0
mov ecx, dword [rbx + 0x1b0]
movzx eax, cx
mov dword [rbx + 0x58], eax
lea eax, [r9 - 0x10]
shr ecx, 0x10
mov dword [rbx + 0x1b4], eax
mov dword [rbx + 0x1b0], ecx
mov dword [rbx + 0x30], r10d
jmp case.default.0x1401f1aee
cmp r9d, 0x10
jl 0x1401f23d0
mov ecx, dword [rbx + 0x1b0]
lea eax, [r9 - 0x10]
mov edx, dword [rbx + 0x58]
mov dword [rbx + 0x1b4], eax
mov eax, ecx
shr eax, 0x10
not ecx
mov dword [rbx + 0x1b0], eax
movzx eax, cx
cmp edx, eax
jne 0x1401f22df
test edx, edx
mov eax, r12d
mov ecx, reloc.WS2_32.dll_inet_ntoa
cmovne eax, ecx
mov dword [rbx + 0x30], eax
jmp case.default.0x1401f1aee
cmp r9d, 8
jl 0x1401f23d0
movsxd rdx, dword [rbx + 0x1c0]
mov rcx, qword [rbx + 0x1b8]
movzx eax, byte [rbx + 0x1b0]
mov byte [rdx + rcx], al
mov r8d, dword [rbx + 0x1c0]
inc r8d
mov dword [rbx + 0x1c0], r8d
cmp r8d, dword [rbx + 0x2c]
jne 0x1401f2285
movsxd rax, dword [rbx + 0x1c4]
mov r9, r13
mov rdx, rax
mov qword [rsp + 0x20], r15
add rdx, qword [rbx + 0x1b8]
sub r8d, eax
mov rcx, r11
call fcn.140186590
mov qword [rbx + 0x1c0], 0
test al, al
je 0x1401f22e7
sub dword [rbx + 0x1b4], 8
shr dword [rbx + 0x1b0], 8
sub dword [rbx + 0x58], r12d
jne 0x1401f1a77
mov dword [rbx + 0x30], r12d
jmp 0x1401f1a77
lea rdx, str.zlib_header
mov rcx, r15
call fcn.14015cfb0
jmp 0x1401f22ed
mov r12d, 2
jmp 0x1401f22ed
mov r12d, 4
jmp 0x1401f22ed
mov r12d, 3
jmp 0x1401f22ed
mov r12d, 5
jmp 0x1401f22ed
mov r12d, 6
jmp 0x1401f22f5
mov r12d, 7
jmp 0x1401f22f5
mov r12d, 8
mov r11, qword [rsp + 0xa0]
movsxd rax, dword [rbx + 0x1c4]
mov r8d, dword [rbx + 0x1c0]
cmp r8d, eax
jle 0x1401f2331
mov rdx, rax
mov qword [rsp + 0x20], r15
add rdx, qword [rbx + 0x1b8]
sub r8d, eax
mov r9, r13
mov rcx, r11
call fcn.140186590
mov eax, dword [rbx + 0x1c0]
mov dword [rbx + 0x1c4], eax
mov r8d, r12d
lea rdx, str.decodeErrNum
mov rcx, r15
call fcn.14015c6b0
mov rax, qword [r15]
lea rdx, str.inflate_decode_error.
mov rcx, r15
call qword [rax + 0x28]
xor al, al
jmp 0x1401f2453
cmp r9d, 8
jl 0x1401f23d0
mov eax, dword [rbx + 0x1b0]
mov ecx, r9d
and ecx, 7
mov dword [rbx + 0x30], 0xa
sub r9d, ecx
shr eax, cl
mov dword [rbx + 0x1b4], r9d
mov dword [rbx + 0x1b0], eax
cmp r9d, 0x20
jge 0x1401f23bd
mov edx, eax
nop dword [rax]
test esi, esi
jle 0x1401f23d0
movzx eax, byte [rbp]
mov ecx, r9d
shl eax, cl
add r9d, 8
or eax, edx
mov dword [rbx + 0x1b4], r9d
inc rbp
mov dword [rbx + 0x1b0], eax
dec esi
mov edx, eax
cmp r9d, 0x20
jl 0x1401f2390
bswap eax
mov dword [rbx + 0x24], eax
mov byte [rbx + 0x29], r12b
jmp 0x1401f23d0
mov r11, qword [rsp + 0xa0]
movsxd rax, dword [rbx + 0x1c4]
mov r8d, dword [rbx + 0x1c0]
cmp r8d, eax
jle 0x1401f2420
mov rdx, rax
mov qword [rsp + 0x20], r15
add rdx, qword [rbx + 0x1b8]
sub r8d, eax
mov r9, r13
mov rcx, r11
call fcn.140186590
mov ecx, dword [rbx + 0x1c0]
mov dword [rbx + 0x1c4], ecx
test al, al
jne 0x1401f2420
mov rax, qword [r15]
lea rdx, str.Failed_to_flush_to_output.
mov rcx, r15
call qword [rax + 0x28]
cmp byte [rbx + 0x29], 0
je 0x1401f244f
mov eax, dword [rbx + 0x1b4]
mov rcx, qword [rsp + 0x98]
cdq
and edx, 7
add eax, edx
sar eax, 3
sub eax, ebp
add eax, dword [rsp + 0x88]
add eax, dword [rsp + 0x80]
mov dword [rcx], eax
movzx eax, r12b
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
mov r15, qword [rsp + 0x38]
add rsp, 0x58
pop rdi
pop rsi
pop rbp
pop rbx
ret