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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
mov rax, rsp
sub rsp, 0x108
xor r9d, r9d
mov qword [rax - 8], rbx
mov qword [rax - 0x18], rsi
cmp dword [rsp + 0x140], r9d
mov qword [rax - 0x20], rdi
mov rdi, qword [rcx + 0x10]
mov qword [rax - 0x28], r12
mov r12, qword [rcx]
setne byte [rsp + 0x50]
test rdi, rdi
mov qword [rax - 0x38], r14
mov rsi, rdx
mov dword [rsp + 0x80], r9d
mov dword [rsp + 0x84], r9d
mov dword [rsp + 0x98], r9d
mov r14, rcx
mov byte [rsp + 0x51], r9b
mov dword [rsp + 0x9c], 0xffffffff
mov qword [rsp + 0xa8], r12
jne 0x4d77c9
call fcn.0044f4c0
test rax, rax
mov rdi, rax
mov qword [r14 + 0x10], rax
je 0x4d77ae
mov rcx, qword [rax + 0x30]
movsxd rbx, dword [rax + 0x3c]
cmp dword [rcx + 0x60], ebx
jg 0x4d7777
mov edx, 1
mov rcx, rax
call fcn.00441a80
test eax, eax
jne 0x4d77a9
inc dword [rdi + 0x3c]
mov rax, qword [rdi + 8]
lea rcx, [rbx + rbx*2]
xor r9d, r9d
mov byte [rax + rcx*8], 0x99
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov byte [rax + rcx*8 + 1], r9b
jmp 0x4d77b1
xor r9d, r9d
jmp 0x4d77b1
xor r9d, r9d
cmp qword [r14 + 0x1c0], 0
jne 0x4d77c9
mov rax, qword [r14]
test byte [rax + 0x4c], 8
jne 0x4d77c9
mov byte [r14 + 0x23], 1
test byte [rsi + 0x48], 0x20
movsx rcx, word [rsi + 0x42]
jne 0x4d77e7
mov eax, 1
mov qword [rsp + 0x88], r9
mov dword [rsp + 0x7c], eax
jmp 0x4d7822
mov rdx, qword [rsi + 0x10]
test rdx, rdx
mov qword [rsp + 0x88], rdx
je 0x4d781a
nop
nop
mov eax, dword [rdx + 0x64]
and al, 3
cmp al, 2
je 0x4d7812
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x4d7800
mov qword [rsp + 0x88], rdx
movzx eax, word [rdx + 0x5e]
mov dword [rsp + 0x7c], eax
test ecx, ecx
movzx edx, byte [rsp + 0x150]
mov qword [rsp + 0xf8], rbp
mov qword [rsp + 0xd8], r13
mov ebp, r9d
mov r8d, 2
mov qword [rsp + 0xc8], r15
jle 0x4d7b4f
mov r15, qword [rsp + 0x110]
mov r14, rcx
mov r13, r9
movsx eax, word [rsi + 0x40]
cmp ebp, eax
je 0x4d7b32
mov rax, qword [rsi + 8]
movzx ebx, byte [rax + r13 + 0x28]
test ebx, ebx
je 0x4d7b32
cmp dl, 0xa
je 0x4d78dd
movzx ebx, dl
cmp ebx, 5
jne 0x4d7896
cmp qword [rax + r13 + 8], 0
cmove ebx, r8d
mov ecx, ebx
dec ecx
je 0x4d79f6
dec ecx
je 0x4d79e1
dec ecx
je 0x4d79f6
dec ecx
je 0x4d7973
mov rax, qword [rdi + 0x30]
movsxd rbx, dword [rdi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x4d78ea
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
je 0x4d78e7
mov ebx, 1
jmp 0x4d7923
cmp ebx, 0xa
jne 0x4d7887
mov ebx, r8d
jmp 0x4d7896
xor r9d, r9d
mov rcx, qword [rdi + 8]
inc dword [rdi + 0x3c]
mov r8d, dword [rsp + 0x138]
lea rdx, [rbx + rbx*2]
lea eax, [rbp + r8 + 1]
mov dword [rcx + rdx*8 + 4], eax
mov byte [rcx + rdx*8], Ordinal_79
mov byte [rcx + rdx*8 + 3], 0
mov dword [rcx + rdx*8 + 8], r9d
mov dword [rcx + rdx*8 + 0xc], r9d
mov qword [rcx + rdx*8 + 0x10], r9
mov byte [rcx + rdx*8 + 1], 0
mov rdx, qword [rsi + 8]
mov eax, dword [rsp + 0x138]
mov rcx, r15
mov rdx, qword [rdx + r13 + 8]
lea r8d, [rbp + rax + 1]
call fcn.004d69b0
mov r11d, dword [rdi + 0x3c]
cmp r11d, ebx
jbe 0x4d7958
mov eax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 8], r11d
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
mov dl, byte [rsp + 0x150]
dec ecx
xor r9d, r9d
mov dword [rax + 0x64], ecx
jmp 0x4d7b32
mov rax, qword [rdi + 0x30]
movsxd rbx, dword [rdi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x4d7998
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
jne 0x4d7b28
xor r9d, r9d
mov rcx, qword [rdi + 8]
inc dword [rdi + 0x3c]
mov eax, dword [rsp + 0x138]
lea rdx, [rbx + rbx*2]
lea eax, [rbp + rax + 1]
mov dword [rcx + rdx*8 + 4], eax
mov eax, dword [rsp + 0x158]
mov byte [rcx + rdx*8], Ordinal_79
mov byte [rcx + rdx*8 + 3], 0
mov dword [rcx + rdx*8 + 0xc], r9d
mov qword [rcx + rdx*8 + 0x10], r9
mov dword [rcx + rdx*8 + 8], eax
mov byte [rcx + rdx*8 + 1], 0
mov dl, byte [rsp + 0x150]
jmp 0x4d7b32
mov rax, qword [r15 + 0x1c0]
mov rcx, r15
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
mov r9, qword [rsi + 8]
mov r8, qword [rsi]
lea rdx, str._s._s
mov r9, qword [r9 + r13]
mov rcx, r12
call fcn.00461c80
mov rcx, qword [rdi + 0x30]
movsxd rsi, dword [rdi + 0x3c]
cmp dword [rcx + 0x60], esi
mov r12, rax
jg 0x4d7a38
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
je 0x4d7a38
mov esi, 1
jmp 0x4d7a75
mov rcx, qword [rdi + 8]
inc dword [rdi + 0x3c]
mov eax, dword [rsp + 0x138]
lea rdx, [rsi + rsi*2]
lea eax, [rbp + rax + 1]
mov dword [rcx + rdx*8 + 0xc], eax
mov byte [rcx + rdx*8], reloc.WS2_32.dll_socket
mov byte [rcx + rdx*8 + 3], 0
mov dword [rcx + rdx*8 + 4], 0x513
mov dword [rcx + rdx*8 + 8], ebx
mov qword [rcx + rdx*8 + 0x10], 0
mov byte [rcx + rdx*8 + 1], 0
mov rbx, qword [rdi + 8]
mov rcx, qword [rdi]
test rbx, rbx
je 0x4d7ad0
cmp byte [rcx + 0x50], 0
jne 0x4d7ad0
test esi, esi
jns 0x4d7a90
mov esi, dword [rdi + 0x3c]
dec esi
movsxd rax, esi
lea rsi, [rax + rax*2]
movsx edx, byte [rbx + rsi*8 + 1]
mov r8, qword [rbx + rsi*8 + 0x10]
call fcn.00441fd0
xor r9d, r9d
test r12, r12
mov qword [rbx + rsi*8 + 0x10], r9
jne 0x4d7abf
mov qword [rbx + rsi*8 + 0x10], r9
mov byte [rbx + rsi*8 + 1], r9b
jmp 0x4d7ae0
mov qword [rbx + rsi*8 + 0x10], r12
mov byte [rbx + rsi*8 + 1], 0xff
jmp 0x4d7ae0
mov r8, r12
mov edx, 0xffffffff
call fcn.00441fd0
xor r9d, r9d
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x4d7b0f
movsxd rax, dword [rdi + 0x3c]
mov rsi, qword [rsp + 0x118]
mov r12, qword [rsp + 0xa8]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 1
mov dl, byte [rsp + 0x150]
jmp 0x4d7b32
mov rsi, qword [rsp + 0x118]
mov dl, byte [rsp + 0x150]
mov r12, qword [rsp + 0xa8]
jmp 0x4d7b32
mov dl, byte [rsp + 0x150]
xor r9d, r9d
inc ebp
add r13, 0x30
dec r14
mov r8d, 2
jne 0x4d7861
mov r14, qword [rsp + 0x110]
mov rbp, qword [rsi + 0x30]
test rbp, rbp
mov qword [rsp + 0x90], rbp
je 0x4d8039
bt dword [r12 + 0x2c], 0xd
jb 0x4d8039
mov eax, dword [rsp + 0x138]
inc eax
cmp dl, 0xa
mov dword [r14 + 0x68], eax
je 0x4d7b89
movzx r15d, dl
jmp 0x4d7b8c
mov r15d, r8d
cmp dword [rbp], 0
mov dword [rsp + 0x58], r9d
jle 0x4d8039
mov rsi, r9
mov qword [rsp + 0x70], r9
nop
nop
nop
nop
mov r13, qword [rdi + 0x30]
movsxd r14, dword [r13 + 0x78]
lea eax, [r14 + 1]
mov dword [r13 + 0x78], eax
lea eax, [r14 - 1]
test r14d, eax
jne 0x4d7d77
mov rbx, qword [r13]
mov rsi, qword [r13 + 0x80]
lea eax, [r14 + r14 + 1]
movsxd r12, eax
mov rbp, r9
shl r12, 2
cmp byte [rbx + 0x50], 0
jne 0x4d7c80
test rsi, rsi
jne 0x4d7c06
mov rdx, r12
mov rcx, rbx
call fcn.0043b030
mov rbp, rax
jmp 0x4d7c80
cmp rsi, qword [rbx + 0x168]
jb 0x4d7c5c
cmp rsi, qword [rbx + 0x170]
jae 0x4d7c5c
movzx eax, word [rbx + 0x148]
cmp r12, rax
ja 0x4d7c29
mov rbp, rsi
jmp 0x4d7c80
mov rdx, r12
mov rcx, rbx
call fcn.0043b030
test rax, rax
mov rbp, rax
je 0x4d7c80
movzx r8d, word [rbx + 0x148]
mov rdx, rsi
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rdx, rsi
mov rcx, rbx
call fcn.00425ea0
jmp 0x4d7c80
call fcn.0049a550
test eax, eax
je 0x4d7c69
xor ebp, ebp
jmp 0x4d7c7c
mov rdx, r12
mov rcx, rsi
call fcn.0043ac70
test rax, rax
mov rbp, rax
jne 0x4d7c80
mov byte [rbx + 0x50], 1
test rbp, rbp
jne 0x4d7d63
test rsi, rsi
je 0x4d7d63
cmp qword [rbx + 0x320], rbp
je 0x4d7cab
mov rdx, rsi
mov rcx, rbx
call fcn.00425e50
jmp 0x4d7d63
cmp rsi, qword [rbx + 0x168]
jb 0x4d7cd9
cmp rsi, qword [rbx + 0x170]
jae 0x4d7cd9
mov rax, qword [rbx + 0x160]
mov qword [rsi], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rsi
jmp 0x4d7d63
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x4d7d5a
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4d7cf4
call qword [0x0072d0f8]
mov rcx, rsi
call qword [0x0072d0b0]
mov ecx, dword [0x00772960]
neg eax
add ecx, eax
mov eax, dword [0x00772988]
cmp ecx, eax
mov dword [0x00772960], ecx
cmovg eax, ecx
mov ecx, dword [0x00772984]
dec ecx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp ecx, eax
mov dword [0x00772984], ecx
cmovg eax, ecx
mov rcx, rsi
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4d7d63
call qword [0x0072d108]
jmp 0x4d7d63
mov rcx, rsi
call qword [0x0072d0a0]
mov rsi, qword [rsp + 0x70]
mov qword [r13 + 0x80], rbp
mov rbp, qword [rsp + 0x90]
mov rcx, qword [r13 + 0x80]
test rcx, rcx
je 0x4d7d8b
mov dword [rcx + r14*4], 0xffffffff
mov rdx, qword [rbp + 8]
mov r13d, 0xffffffff
mov r9d, reloc.WS2_32.dll_recv
mov rdx, qword [rdx + rsi]
sub r13d, r14d
mov r14, qword [rsp + 0x110]
mov rcx, r14
mov r8d, r13d
call fcn.004d32c0
cmp r15d, 4
jne 0x4d7e17
mov rax, qword [rdi + 0x30]
movsxd rbx, dword [rdi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x4d7ddc
lea edx, [r15 - 3]
mov rcx, rdi
call fcn.00441a80
test eax, eax
jne 0x4d7fee
inc dword [rdi + 0x3c]
mov rax, qword [rdi + 8]
mov edx, dword [rsp + 0x158]
lea rcx, [rbx + rbx*2]
xor r9d, r9d
mov byte [rax + rcx*8], reloc.WS2_32.dll_recv
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov byte [rax + rcx*8 + 1], r9b
jmp 0x4d7ff1
mov rax, qword [rbp + 8]
mov r12, qword [rax + rsi + 8]
test r12, r12
jne 0x4d7e30
mov rax, qword [rsp + 0x118]
mov r12, qword [rax]
mov rbx, qword [r14 + 0x10]
cmp r15d, 5
mov eax, 2
cmove r15d, eax
test rbx, rbx
jne 0x4d7ebb
mov rcx, r14
call fcn.0044f4c0
test rax, rax
mov rbx, rax
mov qword [r14 + 0x10], rax
je 0x4d7ea3
movsxd rsi, dword [rax + 0x3c]
mov rax, qword [rax + 0x30]
cmp dword [rax + 0x60], esi
jg 0x4d7e78
mov edx, 1
mov rcx, rbx
call fcn.00441a80
test eax, eax
jne 0x4d7ea3
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
lea rcx, [rsi + rsi*2]
xor edx, edx
mov byte [rax + rcx*8], 0x99
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 1], dl
cmp qword [r14 + 0x1c0], 0
jne 0x4d7ebb
mov rax, qword [r14]
test byte [rax + 0x4c], 8
jne 0x4d7ebb
mov byte [r14 + 0x23], 1
cmp r15d, 2
jne 0x4d7ed6
mov rax, qword [r14 + 0x1c0]
mov rcx, r14
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
mov rax, qword [rbx + 0x30]
movsxd rsi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], esi
jg 0x4d7efb
mov edx, 1
mov rcx, rbx
call fcn.00441a80
test eax, eax
je 0x4d7efb
mov esi, 1
jmp 0x4d7f2b
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
lea rcx, [rsi + rsi*2]
xor edx, edx
mov byte [rax + rcx*8], Ordinal_27
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], 0x113
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 1], dl
mov rbp, qword [rbx + 8]
mov rcx, qword [rbx]
test rbp, rbp
je 0x4d7fad
cmp byte [rcx + 0x50], 0
jne 0x4d7fad
test esi, esi
jns 0x4d7f46
mov esi, dword [rbx + 0x3c]
dec esi
movsxd rax, esi
lea rsi, [rax + rax*2]
movsx edx, byte [rbp + rsi*8 + 1]
mov r8, qword [rbp + rsi*8 + 0x10]
call fcn.00441fd0
xor r9d, r9d
test r12, r12
mov qword [rbp + rsi*8 + 0x10], r9
jne 0x4d7f75
mov qword [rbp + rsi*8 + 0x10], r9
mov byte [rbp + rsi*8 + 1], r9b
jmp 0x4d7fba
cmp byte [r12], r9b
mov rax, r12
je 0x4d7f88
nop
inc rax
cmp byte [rax], r9b
jne 0x4d7f80
mov rcx, qword [rbx]
sub eax, r12d
mov rdx, r12
and eax, 0x3fffffff
movsxd r8, eax
call fcn.0043b390
mov byte [rbp + rsi*8 + 1], 0xff
xor r9d, r9d
mov qword [rbp + rsi*8 + 0x10], rax
jmp 0x4d7fba
mov r8, r12
xor edx, edx
call fcn.00441fd0
xor r9d, r9d
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x4d7fdf
movsxd rax, dword [rbx + 0x3c]
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x90]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 3
jmp 0x4d7ff1
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x90]
jmp 0x4d7ff1
xor r9d, r9d
mov r8, qword [rdi + 0x30]
mov eax, 0xffffffff
sub eax, r13d
js 0x4d8014
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x4d8014
movsxd rcx, eax
mov eax, dword [rdi + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rdi + 0x3c]
mov ecx, dword [rsp + 0x58]
add rsi, 0x28
dec eax
inc ecx
mov qword [rsp + 0x70], rsi
mov dword [r8 + 0x64], eax
cmp ecx, dword [rbp]
mov dword [rsp + 0x58], ecx
jl 0x4d7bb0
cmp byte [rsp + 0x148], 0
je 0x4d8731
cmp qword [rsp + 0x88], 0
jne 0x4d8731
mov r13, qword [rdi + 0x30]
movsxd r14, dword [r13 + 0x78]
lea eax, [r14 + 1]
mov dword [r13 + 0x78], eax
lea eax, [r14 - 1]
test r14d, eax
jne 0x4d813d
mov rsi, qword [r13]
mov rbp, qword [r13 + 0x80]
lea eax, [r14 + r14 + 1]
movsxd r12, eax
mov rbx, r9
shl r12, 2
cmp byte [rsi + 0x50], 0
jne 0x4d8126
test rbp, rbp
jne 0x4d80ac
mov rdx, r12
mov rcx, rsi
call fcn.0043b030
mov rbx, rax
jmp 0x4d8126
cmp rbp, qword [rsi + 0x168]
jb 0x4d8102
cmp rbp, qword [rsi + 0x170]
jae 0x4d8102
movzx eax, word [rsi + 0x148]
cmp r12, rax
ja 0x4d80cf
mov rbx, rbp
jmp 0x4d8126
mov rdx, r12
mov rcx, rsi
call fcn.0043b030
test rax, rax
mov rbx, rax
je 0x4d8126
movzx r8d, word [rsi + 0x148]
mov rdx, rbp
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rdx, rbp
mov rcx, rsi
call fcn.00425ea0
jmp 0x4d8126
call fcn.0049a550
test eax, eax
je 0x4d810f
xor ebx, ebx
jmp 0x4d8122
mov rdx, r12
mov rcx, rbp
call fcn.0043ac70
test rax, rax
mov rbx, rax
jne 0x4d8126
mov byte [rsi + 0x50], 1
test rbx, rbx
jne 0x4d8136
mov rdx, rbp
mov rcx, rsi
call fcn.00425ea0
mov qword [r13 + 0x80], rbx
mov rcx, qword [r13 + 0x80]
test rcx, rcx
je 0x4d8151
mov dword [rcx + r14*4], 0xffffffff
mov rsi, qword [rsp + 0x118]
mov r12b, byte [rsp + 0x150]
mov r15d, 0xffffffff
movzx ebp, byte [rsi + 0x49]
sub r15d, r14d
cmp r12b, 0xa
je 0x4d8180
movzx ebp, r12b
mov r14d, 2
jmp 0x4d818d
cmp ebp, 0xa
mov r14d, 2
cmove ebp, r14d
cmp byte [rsp + 0x50], 0
je 0x4d8207
mov rax, qword [rdi + 0x30]
movsxd rbx, dword [rdi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x4d81b2
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
jne 0x4d81f1
mov rax, qword [rdi + 8]
inc dword [rdi + 0x3c]
mov r8d, dword [rsp + 0x138]
mov edx, dword [rsp + 0x140]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], reloc.WLDAP32.dll_Ordinal_79
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], 0
mov byte [rax + rcx*8 + 1], 0
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x4d8207
movsxd rax, dword [rdi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x90
cmp ebp, 5
jne 0x4d8298
cmp r12b, bpl
je 0x4d8298
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x4d8298
movzx ecx, byte [rax + 0x62]
cmp cl, 4
je 0x4d823b
cmp cl, 3
je 0x4d823b
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x4d8222
jmp 0x4d8298
movsxd rbx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
cmp dword [rax + 0x60], ebx
mov dword [rsp + 0x84], ebx
jg 0x4d826d
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
je 0x4d826d
mov dword [rsp + 0x84], 1
jmp 0x4d8298
inc dword [rdi + 0x3c]
mov rax, qword [rdi + 8]
lea rcx, [rbx + rbx*2]
xor edx, edx
mov byte [rax + rcx*8], reloc.WS2_32.dll_recv
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 1], dl
mov rax, qword [rdi + 0x30]
movsxd rbx, dword [rdi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x4d82b6
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
jne 0x4d82f9
mov rax, qword [rdi + 8]
inc dword [rdi + 0x3c]
mov r13d, dword [rsp + 0x128]
mov r12d, dword [rsp + 0x138]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], 0x46
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], 0
mov byte [rax + rcx*8 + 1], 0
jmp 0x4d8309
mov r12d, dword [rsp + 0x138]
mov r13d, dword [rsp + 0x128]
test ebp, ebp
jle 0x4d84a7
cmp ebp, 3
jle 0x4d84aa
cmp ebp, 4
je 0x4d844a
cmp ebp, 5
jne 0x4d84a7
mov rax, qword [rsp + 0xa8]
xor ebx, ebx
bt dword [rax + 0x2c], 0x12
jae 0x4d83c7
mov r14, qword [rsp + 0x110]
lea r8d, [rbp + 0x68]
xor r9d, r9d
mov rdx, rsi
mov rcx, r14
mov qword [rsp + 0x20], rbx
call fcn.00436220
test rax, rax
mov rbx, rax
je 0x4d83cf
mov rax, qword [r14 + 0x1c0]
mov byte [rsp + 0x48], 1
mov byte [rsp + 0x40], 5
test rax, rax
mov byte [rsp + 0x38], 0
mov word [rsp + 0x30], 1
mov rcx, r14
mov r9d, r13d
mov r8, rbx
cmovne rcx, rax
mov eax, dword [rsp + 0x130]
mov rdx, rsi
mov byte [rcx + 0x20], 1
mov rcx, r14
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
call fcn.004df9c0
mov dword [rsp + 0x80], 1
xor r13d, r13d
jmp 0x4d8678
mov r14, qword [rsp + 0x110]
mov rcx, qword [r14]
bt dword [rcx + 0x2c], 0x13
jae 0x4d83fc
mov rcx, qword [rsi + 0x70]
mov rdx, qword [rsi]
add rcx, 0x50
call fcn.00427900
test rax, rax
jne 0x4d8368
cmp qword [rsi + 0x20], rax
jne 0x4d8368
cmp qword [rsi + 0x10], 0
je 0x4d83b4
mov rax, qword [r14 + 0x1c0]
mov r9d, dword [rsp + 0x130]
mov rcx, r14
test rax, rax
mov r8d, r13d
mov rdx, rsi
cmovne rcx, rax
mov qword [rsp + 0x20], 0
mov byte [rcx + 0x20], 1
mov rcx, r14
call fcn.004900b0
mov dword [rsp + 0x80], 1
xor r13d, r13d
jmp 0x4d8678
mov rax, qword [rdi + 0x30]
movsxd rbx, dword [rdi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x4d846c
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
jne 0x4d8675
inc dword [rdi + 0x3c]
mov rax, qword [rdi + 8]
mov edx, dword [rsp + 0x158]
lea rcx, [rbx + rbx*2]
xor r13d, r13d
mov byte [rax + rcx*8], reloc.WS2_32.dll_recv
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], r13b
jmp 0x4d8678
mov ebp, r14d
movzx eax, word [rsi + 0x40]
test ax, ax
js 0x4d84eb
mov r9, qword [rsi + 8]
mov r14, qword [rsp + 0x110]
mov r8, qword [rsi]
movsx rax, ax
lea rdx, str._s._s
lea rcx, [rax + rax*2]
add rcx, rcx
mov r9, qword [r9 + rcx*8]
mov rcx, qword [r14]
call fcn.00461c80
mov r13d, 0x613
mov r12, rax
jmp 0x4d850e
mov r14, qword [rsp + 0x110]
mov r8, qword [rsi]
lea rdx, str._s.rowid
mov rcx, qword [r14]
call fcn.00461c80
mov r13d, 0xa13
mov r12, rax
mov rbx, qword [r14 + 0x10]
test rbx, rbx
jne 0x4d858c
mov rcx, r14
call fcn.0044f4c0
test rax, rax
mov rbx, rax
mov qword [r14 + 0x10], rax
je 0x4d8574
mov rcx, qword [rax + 0x30]
movsxd rsi, dword [rax + 0x3c]
cmp dword [rcx + 0x60], esi
jg 0x4d8549
mov edx, 1
mov rcx, rax
call fcn.00441a80
test eax, eax
jne 0x4d8574
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
lea rcx, [rsi + rsi*2]
xor edx, edx
mov byte [rax + rcx*8], 0x99
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 1], dl
cmp qword [r14 + 0x1c0], 0
jne 0x4d858c
mov rax, qword [r14]
test byte [rax + 0x4c], 8
jne 0x4d858c
mov byte [r14 + 0x23], 1
cmp ebp, 2
jne 0x4d85a6
mov rax, qword [r14 + 0x1c0]
mov rcx, r14
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
mov rax, qword [rbx + 0x30]
movsxd rsi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], esi
jg 0x4d85ce
mov edx, 1
mov rcx, rbx
call fcn.00441a80
test eax, eax
je 0x4d85ce
mov esi, 1
xor r13d, r13d
jmp 0x4d85fd
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
lea rcx, [rsi + rsi*2]
mov dword [rax + rcx*8 + 4], r13d
xor r13d, r13d
mov byte [rax + rcx*8], Ordinal_27
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], r13b
mov rbp, qword [rbx + 8]
mov rcx, qword [rbx]
test rbp, rbp
je 0x4d8650
cmp byte [rcx + 0x50], 0
jne 0x4d8650
test esi, esi
jns 0x4d8618
mov esi, dword [rbx + 0x3c]
dec esi
movsxd rax, esi
lea rsi, [rax + rax*2]
movsx edx, byte [rbp + rsi*8 + 1]
mov r8, qword [rbp + rsi*8 + 0x10]
call fcn.00441fd0
test r12, r12
mov qword [rbp + rsi*8 + 0x10], r13
jne 0x4d8644
mov qword [rbp + rsi*8 + 0x10], r13
mov byte [rbp + rsi*8 + 1], r12b
jmp 0x4d865d
mov qword [rbp + rsi*8 + 0x10], r12
mov byte [rbp + rsi*8 + 1], 0xff
jmp 0x4d865d
mov r8, r12
mov edx, 0xffffffff
call fcn.00441fd0
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x4d8678
movsxd rax, dword [rbx + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 2
jmp 0x4d8678
xor r13d, r13d
mov r8, qword [rdi + 0x30]
mov eax, 0xffffffff
sub eax, r15d
js 0x4d869b
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x4d869b
movsxd rcx, eax
mov eax, dword [rdi + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rdi + 0x3c]
mov ebx, dword [rsp + 0x84]
dec eax
test ebx, ebx
mov dword [r8 + 0x64], eax
je 0x4d8731
movsxd rsi, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
cmp dword [rax + 0x60], esi
mov dword [rsp + 0x98], esi
jg 0x4d86e5
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
je 0x4d86e5
mov dword [rsp + 0x98], 1
jmp 0x4d8712
mov rax, qword [rdi + 8]
inc dword [rdi + 0x3c]
lea rcx, [rsi + rsi*2]
mov byte [rax + rcx*8], reloc.WS2_32.dll_recv
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], 0
mov edx, dword [rdi + 0x3c]
cmp edx, ebx
jbe 0x4d8725
mov rax, qword [rdi + 8]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov rdx, qword [rsp + 0x118]
xor r13d, r13d
mov r15, qword [rdx + 0x10]
mov dword [rsp + 0x60], r13d
mov rax, r13
test r15, r15
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], r13
je 0x4d9933
mov rbx, qword [rsp + 0x120]
mov ecx, eax
cmp dword [rbx + rax*4], 0
je 0x4d9913
cmp byte [rsp + 0x51], 0
jne 0x4d8792
mov r8d, dword [rsp + 0x138]
mov rcx, rdi
inc r8d
call fcn.00454160
mov ecx, dword [rsp + 0x60]
mov byte [rsp + 0x51], 1
mov r13, qword [rdi + 0x30]
mov eax, dword [rsp + 0x130]
movsxd r14, dword [r13 + 0x78]
add eax, ecx
mov dword [rsp + 0x58], eax
lea eax, [r14 + 1]
mov dword [r13 + 0x78], eax
lea eax, [r14 - 1]
test r14d, eax
jne 0x4d8a60
mov rbx, qword [r13]
mov r12, qword [r13 + 0x80]
lea eax, [r14 + r14 + 1]
movsxd rbp, eax
xor esi, esi
shl rbp, 2
cmp byte [rbx + 0x50], sil
jne 0x4d8969
test r12, r12
jne 0x4d88f3
cmp byte [rbx + 0x14a], sil
je 0x4d8803
movzx eax, word [rbx + 0x148]
cmp rbp, rax
jbe 0x4d886a
inc dword [rbx + 0x158]
test rbp, rbp
je 0x4d88c6
cmp rbp, 0x7fffff00
jae 0x4d88c6
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x4d88b1
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4d8838
call qword [0x0072d0f8]
lea rdx, [rsp + 0x90]
mov ecx, ebp
call fcn.0043a720
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4d88d9
call qword [0x0072d108]
mov rsi, qword [rsp + 0x90]
jmp 0x4d88e1
mov rsi, qword [rbx + 0x160]
test rsi, rsi
jne 0x4d887e
inc dword [rbx + 0x15c]
jmp 0x4d8803
mov rax, qword [rsi]
inc dword [rbx + 0x14c]
inc dword [rbx + 0x154]
mov qword [rbx + 0x160], rax
mov eax, dword [rbx + 0x14c]
cmp eax, dword [rbx + 0x150]
jle 0x4d8969
mov dword [rbx + 0x150], eax
jmp 0x4d8969
mov ecx, ebp
call qword [0x0072d098]
mov rsi, rax
mov qword [rsp + 0x90], rax
jmp 0x4d88e1
xor esi, esi
mov byte [rbx + 0x50], 1
mov qword [rsp + 0x90], rsi
jmp 0x4d8969
mov rsi, qword [rsp + 0x90]
test rsi, rsi
jne 0x4d8969
mov byte [rbx + 0x50], 1
jmp 0x4d8969
cmp r12, qword [rbx + 0x168]
jb 0x4d8949
cmp r12, qword [rbx + 0x170]
jae 0x4d8949
movzx eax, word [rbx + 0x148]
cmp rbp, rax
ja 0x4d8916
mov rsi, r12
jmp 0x4d8969
mov rdx, rbp
mov rcx, rbx
call fcn.0043b030
test rax, rax
mov rsi, rax
je 0x4d8969
movzx r8d, word [rbx + 0x148]
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rdx, r12
mov rcx, rbx
call fcn.00425ea0
jmp 0x4d8969
call fcn.0049a550
test eax, eax
jne 0x4d8965
mov rdx, rbp
mov rcx, r12
call fcn.0043ac70
test rax, rax
mov rsi, rax
jne 0x4d8969
mov byte [rbx + 0x50], 1
test rsi, rsi
jne 0x4d8a51
test r12, r12
je 0x4d8a51
cmp qword [rbx + 0x320], rsi
je 0x4d8994
mov rdx, r12
mov rcx, rbx
call fcn.00425e50
jmp 0x4d8a51
cmp r12, qword [rbx + 0x168]
jb 0x4d89c3
cmp r12, qword [rbx + 0x170]
jae 0x4d89c3
mov rax, qword [rbx + 0x160]
mov qword [r12], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], r12
jmp 0x4d8a51
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x4d8a48
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4d89e2
call qword [0x0072d0f8]
mov rcx, r12
call qword [0x0072d0b0]
mov ecx, dword [0x00772960]
neg eax
add ecx, eax
mov eax, dword [0x00772988]
cmp ecx, eax
mov dword [0x00772960], ecx
cmovg eax, ecx
mov ecx, dword [0x00772984]
dec ecx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp ecx, eax
mov dword [0x00772984], ecx
cmovg eax, ecx
mov rcx, r12
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4d8a51
call qword [0x0072d108]
jmp 0x4d8a51
mov rcx, r12
call qword [0x0072d0a0]
mov rbx, qword [rsp + 0x120]
mov qword [r13 + 0x80], rsi
mov rcx, qword [r13 + 0x80]
test rcx, rcx
je 0x4d8a78
mov r8d, 0xffffffff
mov dword [rcx + r14*4], r8d
jmp 0x4d8a7e
mov r8d, 0xffffffff
mov r12d, r8d
sub r12d, r14d
cmp qword [r15 + 0x48], 0
mov dword [rsp + 0x5c], r12d
je 0x4d8b20
mov rax, qword [rsp + 0x70]
mov esi, dword [rbx + rax*4]
mov rax, qword [rdi + 0x30]
movsxd rbx, dword [rdi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x4d8aba
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
jne 0x4d8ae8
inc dword [rdi + 0x3c]
mov rax, qword [rdi + 8]
lea rcx, [rbx + rbx*2]
xor ebp, ebp
mov byte [rax + rcx*8], Ordinal_30
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov byte [rax + rcx*8 + 1], bpl
jmp 0x4d8aea
xor ebp, ebp
mov eax, dword [rsp + 0x138]
mov r14, qword [rsp + 0x110]
mov r9d, reloc.WS2_32.dll_recv
inc eax
mov r8d, r12d
mov rcx, r14
mov dword [r14 + 0x68], eax
mov rdx, qword [r15 + 0x48]
call fcn.004d3740
mov dword [r14 + 0x68], ebp
mov r8d, 0xffffffff
jmp 0x4d8b2a
mov r14, qword [rsp + 0x110]
xor ebp, ebp
movzx ecx, word [r15 + 0x60]
mov edx, dword [r14 + 0x44]
mov r15d, dword [r14 + 0x48]
cmp ecx, edx
mov dword [rsp + 0x54], r15d
jg 0x4d8b50
lea eax, [r15 + rcx]
sub edx, ecx
mov dword [r14 + 0x48], eax
mov dword [r14 + 0x44], edx
jmp 0x4d8b63
mov eax, dword [r14 + 0x54]
lea r15d, [rax + 1]
add eax, ecx
mov dword [rsp + 0x54], r15d
mov dword [r14 + 0x54], eax
mov rdx, qword [rsp + 0x68]
mov r13d, ebp
cmp word [rdx + 0x60], 0
jbe 0x4d8c4f
mov r14, qword [rsp + 0x118]
mov ebx, r15d
mov r15d, dword [rsp + 0x138]
mov r12, rbp
nop
mov rax, qword [rdx + 8]
movsx ecx, word [rax + r12]
test ecx, ecx
js 0x4d8bad
movsx eax, word [r14 + 0x40]
cmp ecx, eax
je 0x4d8bad
lea ebp, [rcx + r15 + 1]
jmp 0x4d8bcb
cmp dword [rsp + 0x9c], ebx
je 0x4d8c21
cmp qword [rdx + 0x48], 0
mov eax, ebx
mov ebp, r15d
cmovne eax, r8d
mov dword [rsp + 0x9c], eax
mov rax, qword [rdi + 0x30]
movsxd rsi, dword [rdi + 0x3c]
cmp dword [rax + 0x60], esi
jg 0x4d8bee
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
jne 0x4d8c1c
mov rdx, qword [rsp + 0x68]
inc dword [rdi + 0x3c]
mov rax, qword [rdi + 8]
lea rcx, [rsi + rsi*2]
mov dword [rax + rcx*8 + 4], ebp
xor ebp, ebp
mov byte [rax + rcx*8], Ordinal_35
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov byte [rax + rcx*8 + 1], bpl
jmp 0x4d8c21
mov rdx, qword [rsp + 0x68]
movzx eax, word [rdx + 0x60]
inc r13d
inc ebx
add r12, 2
cmp r13d, eax
mov r8d, 0xffffffff
jl 0x4d8b90
mov r14, qword [rsp + 0x110]
mov r15d, dword [rsp + 0x54]
mov r12d, dword [rsp + 0x5c]
mov rax, qword [rsp + 0x70]
mov r8, qword [rsp + 0x120]
movsxd rbx, dword [rdi + 0x3c]
mov ebp, dword [r8 + rax*4]
mov rax, qword [rdi + 0x30]
movzx esi, word [rdx + 0x60]
cmp dword [rax + 0x60], ebx
jg 0x4d8c82
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
jne 0x4d8cb2
inc dword [rdi + 0x3c]
mov rax, qword [rdi + 8]
lea rcx, [rbx + rbx*2]
xor r13d, r13d
mov byte [rax + rcx*8], gethostbyaddr
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], r13b
jmp 0x4d8cb5
xor r13d, r13d
mov r15, qword [rsp + 0x68]
mov ebp, dword [rsp + 0x54]
lea rcx, [r14 + 0x94]
movzx eax, word [r15 + 0x60]
mov r8d, 0xa
lea r9d, [rax + rbp - 1]
mov edx, dword [rcx]
cmp edx, ebp
jl 0x4d8d02
cmp edx, r9d
jg 0x4d8d02
cmp byte [rcx - 6], 0
je 0x4d8cff
movzx eax, byte [r14 + 0x1f]
cmp al, 8
jae 0x4d8cfb
movzx eax, al
mov dword [r14 + rax*4 + 0x24], edx
inc byte [r14 + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], r13d
add rcx, 0x14
dec r8
jne 0x4d8cd5
cmp byte [rsp + 0x50], r8b
je 0x4d8d70
cmp qword [rsp + 0x88], r15
jne 0x4d8d70
cmp byte [rsp + 0x148], r8b
jne 0x4d8d70
mov r8, qword [rdi + 0x30]
mov eax, 0xffffffff
sub eax, r12d
js 0x4d8d49
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x4d8d49
movsxd rcx, eax
mov eax, dword [rdi + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rdi + 0x3c]
mov ecx, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x120]
dec eax
mov dword [r8 + 0x64], eax
mov rax, qword [rsp + 0x70]
jmp 0x4d9913
movzx r15d, byte [r15 + 0x62]
test r15d, r15d
jne 0x4d8e2e
mov r15, qword [rsp + 0x68]
lea rcx, [r14 + 0x94]
mov r8d, 0xa
movzx r10d, word [r15 + 0x60]
lea r9d, [r10 + rbp - 1]
nop
nop
mov edx, dword [rcx]
cmp edx, ebp
jl 0x4d8dcd
cmp edx, r9d
jg 0x4d8dcd
cmp byte [rcx - 6], 0
je 0x4d8dca
movzx eax, byte [r14 + 0x1f]
cmp al, 8
jae 0x4d8dc6
movzx eax, al
mov dword [r14 + rax*4 + 0x24], edx
inc byte [r14 + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], r13d
add rcx, 0x14
dec r8
jne 0x4d8da0
cmp r10d, dword [r14 + 0x44]
jle 0x4d8de4
mov dword [r14 + 0x44], r10d
mov dword [r14 + 0x48], ebp
mov r8, qword [rdi + 0x30]
mov eax, 0xffffffff
sub eax, r12d
js 0x4d8e07
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x4d8e07
movsxd rcx, eax
mov eax, dword [rdi + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rdi + 0x3c]
mov ecx, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x120]
dec eax
mov dword [r8 + 0x64], eax
mov rax, qword [rsp + 0x70]
jmp 0x4d9913
mov al, byte [rsp + 0x150]
cmp al, 0xa
je 0x4d8e47
movzx r15d, al
mov dword [rsp + 0xa0], r15d
jmp 0x4d8e5c
cmp r15d, 0xa
mov eax, 2
cmove r15d, eax
mov dword [rsp + 0xa0], r15d
mov rax, qword [rsp + 0x68]
movsxd rbx, dword [rdi + 0x3c]
movzx esi, word [rax + 0x5e]
mov rax, qword [rdi + 0x30]
cmp dword [rax + 0x60], ebx
jg 0x4d8e8a
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
je 0x4d8e8a
mov ebx, 1
jmp 0x4d8eb9
mov rax, qword [rdi + 8]
inc dword [rdi + 0x3c]
mov edx, dword [rsp + 0x58]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], 0x43
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], 0
mov r12, qword [rdi + 8]
mov r13, rsi
mov rsi, qword [rdi]
test r12, r12
je 0x4d9200
cmp byte [rsi + 0x50], 0
jne 0x4d9200
test ebx, ebx
jns 0x4d8edf
mov ebx, dword [rdi + 0x3c]
dec ebx
movsxd rax, ebx
lea rbp, [rax + rax*2]
mov rbx, qword [r12 + rbp*8 + 0x10]
test rbx, rbx
je case.0x4d8f1a.14
movsx eax, byte [r12 + rbp*8 + 1]
add eax, 0xf
cmp eax, 0xe
ja case.0x4d8f1a.14
lea rcx, [0x00400000]
cdqe
mov r8d, dword [rcx + rax*4 + 0xd9a0c]
add r8, rcx
jmp r8
cmp qword [rsi + 0x320], 0
je 0x4d8f37
mov rdx, rbx
mov rcx, rsi
call fcn.00425e50
jmp case.0x4d8f1a.14
cmp rbx, qword [rsi + 0x168]
jb 0x4d8f65
cmp rbx, qword [rsi + 0x170]
jae 0x4d8f65
mov rax, qword [rsi + 0x160]
mov qword [rbx], rax
dec dword [rsi + 0x14c]
mov qword [rsi + 0x160], rbx
jmp case.0x4d8f1a.14
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x4d8fed
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4d8f80
call qword [0x0072d0f8]
mov rcx, rbx
call qword [0x0072d0b0]
mov ecx, dword [0x00772960]
neg eax
add ecx, eax
mov eax, dword [0x00772988]
cmp ecx, eax
mov dword [0x00772960], ecx
cmovg eax, ecx
mov ecx, dword [0x00772984]
dec ecx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp ecx, eax
mov dword [0x00772984], ecx
cmovg eax, ecx
mov rcx, rbx
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je case.0x4d8f1a.14
call qword [0x0072d108]
jmp case.0x4d8f1a.14
mov rcx, rbx
call qword [0x0072d0a0]
jmp case.0x4d8f1a.14
cmp qword [rsi + 0x320], 0
jne case.0x4d8f1a.14
add dword [rbx], 0xffffffff
jne case.0x4d8f1a.14
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x4d909a
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4d902d
call qword [0x0072d0f8]
mov rcx, rbx
call qword [0x0072d0b0]
mov ecx, dword [0x00772960]
neg eax
add ecx, eax
mov eax, dword [0x00772988]
cmp ecx, eax
mov dword [0x00772960], ecx
cmovg eax, ecx
mov ecx, dword [0x00772984]
dec ecx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp ecx, eax
mov dword [0x00772984], ecx
cmovg eax, ecx
mov rcx, rbx
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je case.0x4d8f1a.14
call qword [0x0072d108]
jmp case.0x4d8f1a.14
mov rcx, rbx
call qword [0x0072d0a0]
jmp case.0x4d8f1a.14
cmp qword [rsi + 0x320], 0
jne case.0x4d8f1a.14
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x4d913e
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4d90d1
call qword [0x0072d0f8]
mov rcx, rbx
call qword [0x0072d0b0]
mov ecx, dword [0x00772960]
neg eax
add ecx, eax
mov eax, dword [0x00772988]
cmp ecx, eax
mov dword [0x00772960], ecx
cmovg eax, ecx
mov ecx, dword [0x00772984]
dec ecx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp ecx, eax
mov dword [0x00772984], ecx
cmovg eax, ecx
mov rcx, rbx
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je case.0x4d8f1a.14
call qword [0x0072d108]
jmp case.0x4d8f1a.14
mov rcx, rbx
call qword [0x0072d0a0]
jmp case.0x4d8f1a.14
test byte [rbx + 2], 0x10
je case.0x4d8f1a.14
mov rdx, rbx
mov rcx, rsi
call fcn.00425ea0
jmp case.0x4d8f1a.14
cmp qword [rsi + 0x320], 0
jne 0x4d9191
test word [rbx + 8], 0x2460
jne 0x4d917b
cmp dword [rbx + 0x20], 0
je 0x4d9183
mov rcx, rbx
call fcn.0042e360
mov rcx, qword [rbx + 0x28]
mov rdx, rbx
call fcn.00425ea0
jmp case.0x4d8f1a.14
cmp dword [rbx + 0x20], 0
je 0x4d91a3
mov rdx, qword [rbx + 0x18]
mov rcx, rsi
call fcn.00425ea0
mov rdx, rbx
mov rcx, rsi
call fcn.00425ea0
jmp case.0x4d8f1a.14
cmp qword [rsi + 0x320], 0
jne case.0x4d8f1a.14
dec dword [rbx + 0x18]
mov rsi, qword [rbx]
jne case.0x4d8f1a.14
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x4d91d1
mov rax, qword [rcx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov rdx, rbx
mov rcx, rsi
call fcn.00425ea0
mov qword [r12 + rbp*8 + 0x10], 0
mov byte [r12 + rbp*8 + 1], 0xf2
mov dword [r12 + rbp*8 + 0x10], r13d
mov ebp, dword [rsp + 0x54]
nop
nop
nop
mov r9, qword [rsp + 0x88]
cmp qword [rsp + 0x68], r9
jne 0x4d9218
mov r13d, ebp
mov dword [rsp + 0x78], ebp
jmp 0x4d9251
mov ecx, dword [r14 + 0x44]
mov edx, dword [rsp + 0x7c]
mov r13d, dword [r14 + 0x48]
cmp edx, ecx
mov dword [rsp + 0x78], r13d
jg 0x4d923e
lea eax, [r13 + rdx]
sub ecx, edx
mov dword [r14 + 0x48], eax
mov dword [r14 + 0x44], ecx
jmp 0x4d9251
mov eax, dword [r14 + 0x54]
lea r13d, [rax + 1]
add eax, edx
mov dword [rsp + 0x78], r13d
mov dword [r14 + 0x54], eax
movzx esi, byte [rsp + 0x50]
test sil, sil
jne 0x4d9265
cmp r15d, 5
jne 0x4d9677
mov rax, qword [rsp + 0x118]
test byte [rax + 0x48], 0x20
jne 0x4d9358
mov rax, qword [rdi + 0x30]
movsxd rbx, dword [rdi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x4d9295
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
jne 0x4d92ca
inc dword [rdi + 0x3c]
mov rax, qword [rdi + 8]
mov edx, dword [rsp + 0x58]
lea rcx, [rbx + rbx*2]
xor r12d, r12d
mov byte [rax + rcx*8], reloc.WS2_32.dll_WSASetLastError
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov byte [rax + rcx*8 + 1], r12b
jmp 0x4d92cd
xor r12d, r12d
test sil, sil
je 0x4d9668
mov rax, qword [rdi + 0x30]
movsxd rbx, dword [rdi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x4d92f4
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
jne 0x4d932c
mov rax, qword [rdi + 8]
inc dword [rdi + 0x3c]
mov ebp, dword [rsp + 0x5c]
mov edx, dword [rsp + 0x140]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], reloc.WLDAP32.dll_Ordinal_79
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r12
mov byte [rax + rcx*8 + 1], 0
jmp 0x4d9330
mov ebp, dword [rsp + 0x5c]
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x4d965d
movsxd rax, dword [rdi + 0x3c]
mov esi, dword [rsp + 0x54]
mov r15, qword [rsp + 0x68]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x90
jmp 0x4d9694
mov r15, qword [rsp + 0x68]
cmp r15, r9
je 0x4d9431
xor ebp, ebp
cmp word [r9 + 0x5e], bp
jbe 0x4d9431
mov r14d, dword [rsp + 0x58]
xor r12d, r12d
nop
nop
movzx edx, word [r15 + 0x60]
xor ecx, ecx
test edx, edx
jle 0x4d93b0
mov rax, qword [r9 + 8]
mov r8, qword [r15 + 8]
movzx r9d, word [r12 + rax]
nop
nop
movsxd rax, ecx
cmp r9w, word [r8 + rax*2]
je 0x4d93b4
inc ecx
cmp ecx, edx
jl 0x4d93a0
mov cx, 0xffff
mov rax, qword [rdi + 0x30]
movsxd rbx, dword [rdi + 0x3c]
movsx esi, cx
cmp dword [rax + 0x60], ebx
jg 0x4d93d5
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
jne 0x4d9409
mov rcx, qword [rdi + 8]
inc dword [rdi + 0x3c]
lea rdx, [rbx + rbx*2]
lea eax, [r13 + rbp]
mov byte [rcx + rdx*8], Ordinal_50
mov byte [rcx + rdx*8 + 3], 0
mov dword [rcx + rdx*8 + 4], r14d
mov dword [rcx + rdx*8 + 8], esi
mov qword [rcx + rdx*8 + 0x10], 0
mov dword [rcx + rdx*8 + 0xc], eax
mov byte [rcx + rdx*8 + 1], 0
mov r9, qword [rsp + 0x88]
inc ebp
add r12, 2
movzx eax, word [r9 + 0x5e]
cmp ebp, eax
jl 0x4d9380
mov r14, qword [rsp + 0x110]
mov sil, byte [rsp + 0x50]
test sil, sil
je 0x4d9686
movzx ecx, word [r9 + 0x5e]
mov eax, dword [rdi + 0x3c]
mov esi, dword [rsp + 0x54]
lea edx, [rcx + rax]
mov eax, dword [r15 + 0x64]
mov dword [rsp + 0xa4], Ordinal_79
and al, 3
mov dword [rsp + 0x58], edx
mov edx, r13d
cmp al, 2
cmove edx, esi
xor r13d, r13d
test ecx, ecx
mov dword [rsp + 0xb0], edx
jle 0x4d9690
xor r14d, r14d
xor r15d, r15d
nop
mov rax, qword [r9 + 0x40]
mov r10, qword [rsp + 0x110]
mov rcx, qword [r10]
mov rsi, qword [r15 + rax]
test rsi, rsi
mov rax, qword [rcx + 0x20]
movzx ebx, byte [rcx + 0xa1]
mov rdx, qword [rax + 0x18]
movzx r12d, byte [rdx + 0x71]
je 0x4d94c5
movzx r8d, bl
mov rdx, rsi
call fcn.00453290
mov r10, qword [rsp + 0x110]
mov rbp, rax
jmp 0x4d94c9
mov rbp, qword [rcx + 0x10]
test rbp, rbp
je 0x4d94df
movzx eax, r12b
dec eax
cdqe
lea rcx, [rax + rax*4]
lea rbp, [rbp + rcx*8]
test bl, bl
jne 0x4d9504
test rbp, rbp
je 0x4d94ef
cmp qword [rbp + 0x18], 0
jne 0x4d9504
mov r9, rsi
mov r8, rbp
movzx edx, r12b
mov rcx, r10
call fcn.0046a2c0
mov rbp, rax
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax + 8]
movsx esi, word [r14 + rcx]
movzx ecx, word [rax + 0x5e]
dec ecx
cmp r13d, ecx
jne 0x4d9537
mov r12d, dword [rsp + 0x5c]
mov dword [rsp + 0xa4], reloc.WLDAP32.dll_Ordinal_79
mov dword [rsp + 0x58], r12d
jmp 0x4d953c
mov r12d, dword [rsp + 0x58]
mov rax, qword [rdi + 0x30]
movsxd rbx, dword [rdi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x4d9561
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
je 0x4d9561
mov ebx, 1
jmp 0x4d95ab
inc dword [rdi + 0x3c]
mov rcx, qword [rdi + 8]
mov eax, dword [rsp + 0xa4]
lea rdx, [rbx + rbx*2]
mov byte [rcx + rdx*8], al
mov eax, dword [rsp + 0x140]
mov byte [rcx + rdx*8 + 3], 0
lea eax, [rsi + rax + 1]
mov dword [rcx + rdx*8 + 8], r12d
mov qword [rcx + rdx*8 + 0x10], 0
mov dword [rcx + rdx*8 + 4], eax
mov eax, dword [rsp + 0xb0]
mov byte [rcx + rdx*8 + 1], 0
add eax, r13d
mov dword [rcx + rdx*8 + 0xc], eax
mov rsi, qword [rdi + 8]
mov rcx, qword [rdi]
test rsi, rsi
je 0x4d9602
cmp byte [rcx + 0x50], 0
jne 0x4d9602
test ebx, ebx
jns 0x4d95c6
mov ebx, dword [rdi + 0x3c]
dec ebx
movsxd rax, ebx
lea rbx, [rax + rax*2]
movsx edx, byte [rsi + rbx*8 + 1]
mov r8, qword [rsi + rbx*8 + 0x10]
call fcn.00441fd0
test rbp, rbp
mov qword [rsi + rbx*8 + 0x10], 0
jne 0x4d95f6
mov qword [rsi + rbx*8 + 0x10], rbp
mov byte [rsi + rbx*8 + 1], bpl
jmp 0x4d960f
mov qword [rsi + rbx*8 + 0x10], rbp
mov byte [rsi + rbx*8 + 1], 0xfc
jmp 0x4d960f
mov r8, rbp
mov edx, 0xfffffffc
call fcn.00441fd0
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x4d9625
movsxd rax, dword [rdi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x90
mov r9, qword [rsp + 0x88]
inc r13d
add r15, 8
movzx eax, word [r9 + 0x5e]
add r14, 2
cmp r13d, eax
jl 0x4d9480
mov r14, qword [rsp + 0x110]
mov esi, dword [rsp + 0x54]
mov ebp, dword [rsp + 0x5c]
mov r15, qword [rsp + 0x68]
jmp 0x4d9694
mov esi, dword [rsp + 0x54]
mov r15, qword [rsp + 0x68]
jmp 0x4d9694
mov esi, dword [rsp + 0x54]
mov ebp, dword [rsp + 0x5c]
mov r15, qword [rsp + 0x68]
jmp 0x4d9694
mov esi, dword [rsp + 0x54]
mov ebp, dword [rsp + 0x5c]
mov r15, qword [rsp + 0x68]
jmp 0x4d9694
mov esi, dword [rsp + 0x54]
mov ebp, dword [rsp + 0x5c]
jmp 0x4d9694
mov ebp, dword [rsp + 0x5c]
mov edx, dword [rsp + 0xa0]
test edx, edx
jle 0x4d9733
cmp edx, 3
jle 0x4d9717
cmp edx, 4
jne 0x4d9733
mov rax, qword [rdi + 0x30]
movsxd rbx, dword [rdi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x4d96d3
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
jne 0x4d97d8
inc dword [rdi + 0x3c]
mov rax, qword [rdi + 8]
mov edx, dword [rsp + 0x158]
mov r12d, dword [rsp + 0x7c]
lea rcx, [rbx + rbx*2]
mov ebx, dword [rsp + 0x78]
xor r13d, r13d
mov byte [rax + rcx*8], reloc.WS2_32.dll_recv
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], r13b
jmp 0x4d97e4
mov r8, r15
mov rcx, r14
call fcn.0045b4e0
mov ebx, dword [rsp + 0x78]
mov r12d, dword [rsp + 0x7c]
xor r13d, r13d
jmp 0x4d97e4
mov rax, qword [r14 + 0x1c0]
xor r13d, r13d
mov rcx, r14
test rax, rax
mov r8, r13
cmovne rcx, rax
mov rax, qword [rsp + 0xa8]
mov byte [rcx + 0x20], 1
bt dword [rax + 0x2c], 0x12
jae 0x4d977c
mov rdx, qword [rsp + 0x118]
lea r8d, [r13 + 0x6d]
xor r9d, r9d
mov rcx, r14
mov qword [rsp + 0x20], r13
call fcn.00436220
mov r8, rax
cmp r15, qword [rsp + 0x88]
mov eax, dword [rsp + 0x130]
mov r12d, dword [rsp + 0x7c]
mov ebx, dword [rsp + 0x78]
mov r9d, dword [rsp + 0x128]
mov rdx, qword [rsp + 0x118]
sete cl
mov byte [rsp + 0x48], cl
mov byte [rsp + 0x40], 5
mov byte [rsp + 0x38], r13b
mov word [rsp + 0x30], r12w
mov rcx, r14
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
call fcn.004df9c0
mov dword [rsp + 0x80], 1
jmp 0x4d97e4
mov ebx, dword [rsp + 0x78]
mov r12d, dword [rsp + 0x7c]
xor r13d, r13d
mov r8, qword [rdi + 0x30]
mov eax, 0xffffffff
sub eax, ebp
js 0x4d9806
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x4d9806
movsxd rcx, eax
mov eax, dword [rdi + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rdi + 0x3c]
lea rcx, [r14 + 0x94]
dec eax
mov dword [r8 + 0x64], eax
movzx r10d, word [r15 + 0x60]
mov r8d, 0xa
lea r9d, [rsi + r10 - 1]
mov edx, dword [rcx]
cmp edx, esi
jl 0x4d9853
cmp edx, r9d
jg 0x4d9853
cmp byte [rcx - 6], 0
je 0x4d9850
movzx eax, byte [r14 + 0x1f]
cmp al, 8
jae 0x4d984c
movzx eax, al
mov dword [r14 + rax*4 + 0x24], edx
inc byte [r14 + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], r13d
add rcx, 0x14
dec r8
jne 0x4d9826
cmp r10d, dword [r14 + 0x44]
jle 0x4d986a
mov dword [r14 + 0x44], r10d
mov dword [r14 + 0x48], esi
cmp ebx, esi
je 0x4d98df
lea r9d, [rbx + r12 - 1]
lea rcx, [r14 + 0x94]
mov r8d, 0xa
mov edx, dword [rcx]
cmp edx, ebx
jl 0x4d98ad
cmp edx, r9d
jg 0x4d98ad
cmp byte [rcx - 6], 0
je 0x4d98aa
movzx eax, byte [r14 + 0x1f]
cmp al, 8
jae 0x4d98a6
movzx eax, al
mov dword [r14 + rax*4 + 0x24], edx
inc byte [r14 + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], r13d
add rcx, 0x14
dec r8
jne 0x4d9880
cmp r12d, dword [r14 + 0x44]
jle 0x4d98fa
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x118]
mov dword [r14 + 0x48], ebx
mov rbx, qword [rsp + 0x120]
mov dword [r14 + 0x44], r12d
jmp 0x4d9913
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x120]
jmp 0x4d9913
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x120]
mov r15, qword [r15 + 0x28]
inc ecx
inc rax
test r15, r15
mov qword [rsp + 0x68], r15
mov dword [rsp + 0x60], ecx
mov qword [rsp + 0x70], rax
jne 0x4d8765
mov esi, dword [rsp + 0x84]
mov r15, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xd0]
test esi, esi
mov r12, qword [rsp + 0xe0]
mov rbp, qword [rsp + 0xf8]
je 0x4d99d1
mov rax, qword [rdi + 0x30]
movsxd rbx, dword [rdi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x4d997c
mov edx, 1
mov rcx, rdi
call fcn.00441a80
test eax, eax
jne 0x4d99ab
mov rcx, qword [rdi + 8]
inc dword [rdi + 0x3c]
lea rdx, [rbx + rbx*2]
lea eax, [rsi + 1]
mov byte [rcx + rdx*8], reloc.WS2_32.dll_recv
mov byte [rcx + rdx*8 + 3], 0
mov dword [rcx + rdx*8 + 4], r13d
mov dword [rcx + rdx*8 + 0xc], r13d
mov qword [rcx + rdx*8 + 0x10], r13
mov dword [rcx + rdx*8 + 8], eax
mov byte [rcx + rdx*8 + 1], 0
mov edx, dword [rdi + 0x3c]
mov eax, dword [rsp + 0x98]
cmp edx, eax
jbe 0x4d99c5
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x160]
mov ecx, dword [rsp + 0x80]
mov r13, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x100]
mov dword [rax], ecx
add rsp, 0x108
ret