Function at 0x100e3230
Capabilities:
Check for time delay via queryperformancecounter
Encode data using xor
Hash data using sha1
Receive data
Receive data on socket

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100fef7d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xde0
mov eax, dword [0x1014d094]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0xd84], esi
mov ecx, 2
nop
mov eax, dword [esi + 0x828]
mov dword [ebp - 0xdb4], 0x10
mov word [ebp - 0x298], cx
cmp eax, 0xffffffff
jne 0x100e32d7
or eax, eax
cmp byte [esi + 4], 0
jne 0x100e3338
mov eax, dword [esi]
mov ecx, esi
push 0
push 0
mov byte [esi + 4], 1
call dword [eax + 0x24]
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10054437
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
lea ecx, [ebp - 0xdb4]
push ecx
lea ecx, [ebp - 0x298]
push ecx
push 0
push 0x240
lea ecx, [ebp - 0x268]
push ecx
push eax
call dword [sym.imp.WS2_32.dll_recvfrom]
mov edi, eax
cmp edi, 1
jge 0x100e330b
xor eax, eax
cmp edi, 0xffffffff
setne al
jmp 0x100e3333
push dword [ebp - 0x296]
call dword [sym.imp.WS2_32.dll_ntohs]
mov ecx, dword [ebp - 0x294]
push esi
movzx edx, ax
lea eax, [ebp - 0x268]
push edi
push eax
call fcn.100e4c90
mov eax, 1
mov ecx, 2
cmp byte [esi + 4], 0
jne 0x100e32b7
test eax, eax
jg 0x100e3280
xorps xmm0, xmm0
mov dword [ebp - 0xd5c], 0
movlpd qword [ebp - 0xd58], xmm0
mov edx, dword [ebp - 0xd54]
mov ecx, dword [ebp - 0xd58]
mov dword [ebp - 0xd4c], edx
mov dword [ebp - 0xd64], ecx
nop word [eax + eax]
mov eax, dword [esi + 0x7f8]
cmp eax, dword [esi + 0x804]
je 0x100e348c
cmp byte [eax + 0x38], 0
je 0x100e348c
mov edi, dword [esi + 0x7f8]
mov eax, dword [edi + 0x3c]
mov dword [esi + 0x7f8], eax
test edi, edi
je 0x100e348c
cmp dword [edi + 0x34], 0
jne 0x100e3446
mov eax, ecx
or eax, edx
jne 0x100e33d6
call fcn.100df020
mov ecx, eax
mov dword [ebp - 0xd4c], edx
mov dword [ebp - 0xd64], ecx
push dword [edi + 0x14]
movzx eax, byte [edi + 0x18]
push dword [edi + 0x10]
push edx
push ecx
push 1
push eax
movzx eax, byte [edi + 0xc]
mov ecx, esi
push eax
push dword [edi + 8]
push dword [edi + 4]
push dword [edi]
push dword [edi + 0x30]
call fcn.100e5f30
test al, al
jne 0x100e340d
push 1
push dword [edi + 0x30]
call fcn.10054ab7
add esp, 8
cmp dword [edi + 0x1c], 0
je 0x100e345c
cmp dword [edi + 0x10], 0xffffffff
jne 0x100e3424
mov eax, 0xffff
cmp word [edi + 0x14], ax
je 0x100e345c
push 1
push 1
push dword [edi + 0x14]
mov ecx, esi
push dword [edi + 0x10]
call fcn.100e7f20
mov ecx, eax
test ecx, ecx
je 0x100e345c
mov eax, dword [edi + 0x1c]
mov dword [ecx + 0x83c], eax
jmp 0x100e345c
push dword [edi + 0x14]
movzx eax, byte [edi + 0xc]
mov ecx, esi
push dword [edi + 0x10]
push eax
push 1
push 0
call fcn.100e63f0
mov eax, dword [esi + 0x800]
inc dword [esi + 0x808]
mov edx, dword [ebp - 0xd4c]
mov ecx, dword [ebp - 0xd64]
mov byte [eax + 0x38], 0
mov eax, dword [esi + 0x800]
mov eax, dword [eax + 0x3c]
mov dword [esi + 0x800], eax
jmp 0x100e3380
mov eax, dword [esi + 0x3c8]
cmp eax, dword [esi + 0x3d4]
je 0x100e3700
cmp byte [eax + 0x11c], 0
je 0x100e3700
mov edi, dword [esi + 0x3c8]
mov eax, dword [edi + 0x120]
mov dword [esi + 0x3c8], eax
test edi, edi
je 0x100e3700
mov dword [ebp - 0xd60], edi
jmp 0x100e34d6
mov ecx, dword [ebp - 0xd64]
mov eax, ecx
or eax, edx
jne 0x100e3509
call fcn.100df020
push 0
mov ecx, eax
mov eax, edx
push 0x3e8
push eax
push ecx
mov dword [ebp - 0xd64], ecx
mov dword [ebp - 0xd4c], eax
call fcn.1007e110
mov edx, eax
mov dword [ebp - 0xd5c], edx
jmp 0x100e350f
mov edx, dword [ebp - 0xd5c]
cmp dword [edi + 8], edx
jae 0x100e36b3
cmp dword [edi], 0xffffffff
mov al, byte [edi + 0xc]
mov byte [ebp - 0xd39], al
jne 0x100e3535
mov ecx, 0xffff
cmp word [edi + 4], cx
jne 0x100e3535
mov cl, 1
jmp 0x100e3537
xor cl, cl
mov byte [ebp - 0xd29], cl
cmp al, 6
je 0x100e35c1
test cl, cl
jne 0x100e35c1
inc al
xor ecx, ecx
mov byte [edi + 0xc], al
lea eax, [edx + 0x3e8]
mov dword [edi + 8], eax
mov byte [ebp - 0xd88], 0x18
mov dword [ebp - 0xd44], ecx
cmp dword [esi + 0x3c0], ecx
jbe 0x100e35a1
nop
mov eax, dword [esi + 0x3bc]
lea edx, [ebp - 0xd88]
push dword [edi + 4]
push dword [edi]
mov ecx, dword [eax + ecx*4]
push 0x18
push edx
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ecx, dword [ebp - 0xd44]
inc ecx
mov dword [ebp - 0xd44], ecx
cmp ecx, dword [esi + 0x3c0]
jb 0x100e3570
movzx eax, word [edi + 4]
push eax
push dword [edi]
lea eax, [ebp - 0xd88]
push 3
push eax
push dword [esi + 0x828]
call fcn.100f3670
jmp 0x100e36b3
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x100e35de
push ecx
call fcn.10054445
mov al, byte [ebp - 0xd39]
add esp, 4
mov dword [edi + 0x10], 0
cmp al, 6
jne 0x100e3638
cmp byte [ebp - 0xd29], 0
jne 0x100e3638
cmp dword [edi + 0x118], 1
jne 0x100e3638
push 0x1d
call fcn.10066bc0
mov edx, eax
add esp, 4
lea ecx, [edx + 0x1c]
mov dword [edx + 0x14], ecx
mov dword [edx + 0xc], 1
mov byte [edx + 0x18], 0
mov byte [ecx], 0x1d
mov dword [edx + 0x10], 8
mov ecx, dword [edi]
mov dword [edx + 4], ecx
mov ecx, esi
mov ax, word [edi + 4]
mov word [edx + 8], ax
mov eax, 0xffff
push edx
mov word [edx], ax
call fcn.1004bd50
cmp edi, dword [ebp - 0xd60]
jne 0x100e36a4
mov eax, dword [esi + 0x3d0]
inc dword [esi + 0x3d8]
mov byte [eax + 0x11c], 0
mov eax, dword [esi + 0x3d0]
mov eax, dword [eax + 0x120]
mov dword [esi + 0x3d0], eax
mov eax, dword [esi + 0x3c8]
cmp eax, dword [esi + 0x3d4]
je 0x100e3698
cmp byte [eax + 0x11c], 0
je 0x100e3698
mov ecx, dword [esi + 0x3c8]
mov edi, ecx
mov dword [ebp - 0xd60], ecx
mov eax, dword [ecx + 0x120]
mov dword [esi + 0x3c8], eax
jmp 0x100e36dc
xor ecx, ecx
mov dword [ebp - 0xd60], ecx
mov edi, ecx
jmp 0x100e36dc
mov eax, 0xffff
mov dword [edi], 0xffffffff
mov word [edi + 4], ax
mov eax, dword [esi + 0x3c8]
cmp eax, dword [esi + 0x3d4]
je 0x100e36ea
cmp byte [eax + 0x11c], 0
je 0x100e36ea
mov edi, dword [esi + 0x3c8]
mov eax, dword [edi + 0x120]
mov dword [esi + 0x3c8], eax
mov edx, dword [ebp - 0xd4c]
test edi, edi
jne 0x100e34d0
mov ecx, dword [ebp - 0xd60]
mov edx, dword [ebp - 0xd4c]
test ecx, ecx
je 0x100e3700
mov dword [esi + 0x3c8], ecx
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0xd68], ecx
cmp ax, word [esi + 8]
jae 0x100e4c87
imul edi, ecx, 0x840
add edi, dword [esi + 0x340]
mov dword [ebp - 0xd6c], edi
cmp byte [edi], 0
je 0x100e4c68
mov eax, dword [edi + 4]
mov dword [ebp - 0xd34], eax
mov ax, word [edi + 8]
mov word [ebp - 0xd30], ax
mov eax, dword [ebp - 0xd64]
or eax, edx
jne 0x100e377a
call fcn.100df020
push 0
mov ecx, eax
mov eax, edx
push 0x3e8
push eax
push ecx
mov dword [ebp - 0xd64], ecx
mov dword [ebp - 0xd4c], eax
call fcn.1007e110
mov edx, eax
mov dword [ebp - 0xd5c], edx
jmp 0x100e3780
mov edx, dword [ebp - 0xd5c]
mov ecx, dword [edi + 0x700]
cmp edx, ecx
jbe 0x100e37f1
mov eax, edx
sub eax, ecx
cmp eax, 0x1388
jbe 0x100e37f1
cmp dword [edi + 0x83c], 8
jne 0x100e37f1
lea ecx, [edi + 0x18]
call fcn.100eeb20
cmp dword [eax + 0x60], 0
jne 0x100e37f1
push dword [edi + 8]
lea eax, [ebp - 0xd75]
mov byte [ebp - 0xd75], 0x17
push dword [edi + 4]
mov ecx, esi
push dword [ebp - 0xd4c]
push dword [ebp - 0xd64]
push 0
push 0
push 0
push 8
push 3
push 8
push eax
call fcn.100e5f30
mov eax, dword [edi + 0x2f8]
add eax, dword [ebp - 0xd5c]
mov dword [edi + 0x700], eax
push dword [ebp - 0xd30]
lea eax, [esi + 0x3bc]
push dword [ebp - 0xd34]
lea ecx, [edi + 0x18]
push eax
push dword [ebp - 0xd4c]
mov dword [ebp - 0xd7c], ecx
push dword [ebp - 0xd64]
push dword [esi + 0x81c]
push dword [esi + 0x828]
call fcn.100eece0
cmp byte [edi + 0x2ec], 0
jne 0x100e4b2f
mov eax, dword [edi + 0x83c]
cmp eax, 1
je 0x100e3847
cmp eax, 2
jne 0x100e38be
mov dword [ebp - 0xd44], 0
lea edx, [edi + 0x84]
mov ecx, dword [edx + 4]
mov eax, dword [edx]
cmp eax, ecx
ja 0x100e3864
sub ecx, eax
jmp 0x100e386b
mov eax, dword [edx + 8]
sub eax, dword [edx]
add ecx, eax
test ecx, ecx
jne 0x100e38b8
mov eax, dword [ebp - 0xd44]
add edx, 0x10
inc eax
mov dword [ebp - 0xd44], eax
cmp eax, 4
jb 0x100e3857
cmp dword [edi + 0x38], ecx
ja 0x100e38b8
cmp dword [edi + 0x68], ecx
jne 0x100e38b8
mov ecx, dword [edi + 0x2c]
mov edx, dword [edi + 0x28]
cmp edx, ecx
ja 0x100e389c
sub ecx, edx
jmp 0x100e38a3
mov eax, dword [edi + 0x30]
sub eax, edx
add ecx, eax
test ecx, ecx
jne 0x100e38b8
cmp dword [edi + 0x1c], ecx
ja 0x100e38b8
cmp dword [edi + 0xc4], ecx
jbe 0x100e4b2f
mov eax, dword [edi + 0x83c]
cmp eax, 3
jne 0x100e38cd
cmp dword [edi + 0x38], 0
jbe 0x100e4b2f
cmp eax, 4
je 0x100e38e1
cmp eax, 5
je 0x100e38e1
cmp eax, 6
je 0x100e38e1
cmp eax, 7
jne 0x100e3908
mov ecx, dword [edi + 0x818]
mov edx, dword [ebp - 0xd5c]
cmp edx, ecx
jbe 0x100e390e
mov eax, edx
sub eax, ecx
cmp eax, 0x2710
ja 0x100e4b2f
mov eax, dword [edi + 0x83c]
jmp 0x100e390e
mov edx, dword [ebp - 0xd5c]
cmp byte [edi + 0x2ed], 0
je 0x100e3968
push 0x1d
call fcn.10066bc0
mov edx, eax
add esp, 4
lea ecx, [edx + 0x1c]
mov dword [edx + 0x14], ecx
mov dword [edx + 0xc], 1
mov byte [edx + 0x18], 0
mov dword [edx + 0x10], 8
mov byte [ecx], 0x26
mov ecx, dword [ebp - 0xd34]
mov dword [edx + 4], ecx
mov ecx, esi
mov ax, word [ebp - 0xd30]
mov word [edx + 8], ax
mov eax, dword [ebp - 0xd68]
push edx
mov word [edx], ax
call fcn.1004bd50
jmp 0x100e4c68
cmp eax, 8
jne 0x100e39a4
cmp edx, dword [edi + 0x6fc]
jbe 0x100e39a4
cmp byte [esi + 6], 0
jne 0x100e3989
mov eax, 0xffff
cmp word [edi + 0x6f8], ax
jne 0x100e39a4
mov dword [edi + 0x6fc], edx
mov ecx, esi
push dword [ebp - 0xd30]
push dword [ebp - 0xd34]
push 1
call fcn.100e65e0
lea eax, [ebp - 0xd38]
push eax
lea ecx, [edi + 0x18]
call fcn.100ef5c0
mov dword [ebp - 0xd60], eax
test eax, eax
jle 0x100e4c68
add eax, 7
sar eax, 3
cmp dword [esi + 0x7e0], 0
mov dword [ebp - 0xd44], eax
je 0x100e3c13
push 0x240
mov dword [ebp - 0x468], 0
mov dword [ebp - 0x460], 0
call fcn.10066bc0
add esp, 4
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x464], 0x1200
mov byte [ebp - 0x458], 1
xor edi, edi
mov dword [ebp - 4], 0
mov dword [ebp - 0xd8c], edi
mov dword [ebp - 0x468], edi
mov dword [ebp - 0x460], edi
cmp dword [ebp - 0xd44], edi
je 0x100e3a86
mov edi, dword [ebp - 0xd44]
lea ecx, [ebp - 0x468]
lea eax, [edi*8]
push eax
call fcn.100dd1b0
mov eax, dword [ebp - 0x468]
mov ecx, dword [ebp - 0xd38]
add eax, 7
push edi
sar eax, 3
add eax, dword [ebp - 0x45c]
push ecx
push eax
call fcn.100563e0
mov eax, dword [ebp - 0x468]
add esp, 0xc
lea edi, [eax + edi*8]
mov dword [ebp - 0xd8c], edi
mov dword [ebp - 0x468], edi
lea ecx, [edi + 7]
sar ecx, 3
add dword [esi + 0x7ec], ecx
test edi, edi
je 0x100e3be5
push ecx
call fcn.10054fae
mov ecx, dword [ebp - 0x468]
add esp, 4
add ecx, 7
mov dword [ebp - 0xd40], eax
sar ecx, 3
push ecx
push dword [ebp - 0x45c]
push eax
call fcn.100563e0
mov edx, dword [esi + 0x7e0]
add esp, 0xc
mov esi, dword [ebp - 0xd8c]
xor ecx, ecx
mov dword [ebp - 0x468], 0
mov dword [ebp - 0x460], 0
mov edi, dword [edx]
mov dword [ebp - 0xd54], edx
mov dword [ebp - 0xd80], ecx
nop word [eax + eax]
mov eax, dword [ebp - 0xd80]
and ecx, 7
mov edx, dword [ebp - 0xd40]
sar eax, 3
mov dl, byte [eax + edx]
mov eax, 0x80
sar eax, cl
mov ecx, dword [ebp - 0xd80]
inc ecx
mov dword [ebp - 0xd80], ecx
and dl, al
jne 0x100e3b32
mov edi, dword [edi + 8]
jmp 0x100e3b35
mov edi, dword [edi + 0xc]
cmp dword [edi + 8], 0
jne 0x100e3b5f
cmp dword [edi + 0xc], 0
jne 0x100e3b5f
push 1
push 8
push edi
lea ecx, [ebp - 0x468]
call fcn.100dd880
mov eax, dword [ebp - 0xd54]
mov ecx, dword [ebp - 0xd80]
mov edi, dword [eax]
sub esi, 1
jne 0x100e3b00
mov ecx, dword [ebp - 0x468]
mov esi, dword [ebp - 0xd84]
push dword [ebp - 0xd40]
lea ecx, [ecx + 7]
sar ecx, 3
add dword [esi + 0x7f4], ecx
call fcn.10054445
mov edi, dword [ebp - 0x468]
add esp, 4
lea edi, [edi + 7]
sar edi, 3
cmp edi, dword [ebp - 0xd44]
jle 0x100e3bcd
push dword [ebp - 0xd38]
call fcn.10054445
add esp, 4
push edi
call fcn.10054fae
add esp, 4
mov dword [ebp - 0xd38], eax
push edi
push dword [ebp - 0x45c]
push eax
call fcn.100563e0
add esp, 0xc
jmp 0x100e3be7
mov eax, dword [ebp - 0xd38]
push edi
push dword [ebp - 0x45c]
push eax
call fcn.100563e0
add esp, 0xc
jmp 0x100e3be7
xor edi, edi
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x458], 0
je 0x100e3c15
cmp dword [ebp - 0x464], 0x800
jle 0x100e3c15
push dword [ebp - 0x45c]
call fcn.10062c3b
add esp, 4
jmp 0x100e3c15
mov edi, eax
mov edx, dword [ebp - 0xd6c]
cmp dword [edx + 0x83c], 6
jne 0x100e3cb1
mov eax, dword [ebp - 0xd38]
mov ecx, esi
push dword [ebp - 0xd30]
push dword [ebp - 0xd34]
cmp byte [eax], 0xb
jne 0x100e3c5c
push edi
push eax
push edx
call fcn.100e7b60
push dword [ebp - 0xd38]
call fcn.10054445
add esp, 4
jmp 0x100e4b0a
push 0
push 1
push 0
call fcn.100e63f0
mov eax, dword [esi]
push dword [ebp - 0xd30]
push dword [ebp - 0xd34]
mov ecx, dword [eax + 0x64]
mov eax, dword [eax + 0xb8]
mov dword [ebp - 0xd54], ecx
mov ecx, dword [ebp - 0xd6c]
mov edi, dword [ecx + 0x2f8]
mov ecx, esi
call eax
push edi
push eax
mov ecx, esi
call dword [ebp - 0xd54]
push dword [ebp - 0xd38]
call fcn.10054445
add esp, 4
jmp 0x100e4b0a
mov ecx, dword [ebp - 0xd38]
mov al, byte [ecx]
cmp al, 0xb
jne 0x100e3cf0
cmp dword [edx + 0x83c], 8
je 0x100e3ce2
push dword [ebp - 0xd30]
push dword [ebp - 0xd34]
push edi
push ecx
push edx
mov ecx, esi
call fcn.100e7b60
mov ecx, dword [ebp - 0xd38]
push ecx
call fcn.10054445
add esp, 4
jmp 0x100e4b0a
cmp al, 0x1e
jne 0x100e3e6b
cmp edi, 7
jne 0x100e421b
mov eax, dword [edx + 0x83c]
cmp eax, 5
je 0x100e3d3c
cmp eax, edi
je 0x100e3d3c
mov eax, dword [ebp - 0xd34]
cmp eax, dword [esi + 0x234]
jne 0x100e3d2e
mov ax, word [ebp - 0xd30]
cmp ax, word [esi + 0x238]
je 0x100e3d3c
push ecx
call fcn.10054445
add esp, 4
jmp 0x100e4b0a
mov dword [edx + 0x83c], 8
mov ecx, esi
push dword [ebp - 0xd30]
push dword [ebp - 0xd34]
push 1
call fcn.100e65e0
push dword [ebp - 0xd30]
mov ecx, esi
push dword [ebp - 0xd34]
push 1
call fcn.100e6730
mov edi, dword [ebp - 0xd38]
mov dword [ebp - 0x9e0], 0x38
mov byte [ebp - 0x9d0], 0
mov dword [ebp - 0x9dc], 0x38
mov dword [ebp - 0x9d4], edi
push 1
push 0x20
lea eax, [ebp - 0xda4]
mov dword [ebp - 4], 1
push eax
lea ecx, [ebp - 0x9e0]
mov dword [ebp - 0x9d8], 8
call fcn.100dd2f0
push 1
push 0x10
lea eax, [ebp - 0xda0]
push eax
lea ecx, [ebp - 0x9e0]
call fcn.100dd2f0
mov ecx, dword [ebp - 0xd6c]
mov eax, dword [ebp - 0xda4]
push 0x1c
mov dword [ecx + 0xc], eax
mov ax, word [ebp - 0xda0]
mov word [ecx + 0x10], ax
call fcn.10066bc0
mov ecx, dword [ebp - 0xd60]
add esp, 4
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edi
mov dword [eax + 0xc], 7
mov byte [eax + 0x18], 1
mov ecx, dword [ebp - 0xd34]
mov dword [eax + 4], ecx
mov cx, word [ebp - 0xd30]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0xd68]
mov word [eax], cx
mov ecx, esi
push eax
call fcn.1004bd50
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x9d0], 0
je 0x100e4b0a
cmp dword [ebp - 0x9dc], 0x800
jle 0x100e4b0a
push dword [ebp - 0x9d4]
call fcn.10062c3b
add esp, 4
jmp 0x100e4b0a
cmp al, 9
jne 0x100e4027
cmp edi, 9
jne 0x100e421b
push 1
push 0x20
lea eax, [ebp - 0xdb0]
mov dword [ebp - 0x8bc], ecx
push eax
lea ecx, [ebp - 0x8c8]
mov dword [ebp - 0x8c8], 0x48
mov byte [ebp - 0x8b8], 0
mov dword [ebp - 0x8c4], 0x48
mov dword [ebp - 0x8c0], 8
call fcn.100dd2f0
push 1
push 0x20
lea eax, [ebp - 0xd9c]
push eax
lea ecx, [ebp - 0x8c8]
call fcn.100dd2f0
call fcn.100df020
push 0
mov ecx, eax
mov eax, edx
push 0x3e8
push eax
push ecx
mov dword [ebp - 0xd64], ecx
mov dword [ebp - 0xd4c], eax
call fcn.1007e110
mov ecx, dword [ebp - 0xdb0]
mov edi, eax
sub eax, ecx
mov dword [ebp - 0xd5c], edi
xor edx, edx
cmp edi, ecx
mov edi, dword [ebp - 0xd6c]
cmova edx, eax
mov eax, dword [edi + 0x6f4]
lea eax, [eax*8 + 0x6cc]
add eax, edi
mov dword [ebp - 0xd54], eax
movzx eax, word [eax]
test eax, eax
je 0x100e3f46
lea eax, [eax + eax*2]
cmp edx, eax
jae 0x100e3fe9
cmp edx, 0x4b0
jae 0x100e3fe9
mov esi, dword [ebp - 0xd54]
movzx eax, dx
mov dword [ebp - 0xd40], eax
mov word [esi], ax
mov eax, dword [ebp - 0xd5c]
mov esi, dword [ebp - 0xd84]
add eax, ecx
mov ecx, dword [ebp - 0xd9c]
shr eax, 1
sub ecx, eax
mov eax, dword [edi + 0x6f4]
mov dword [edi + eax*8 + 0x6d0], ecx
mov ecx, 0xffff
movzx eax, word [edi + 0x6f8]
cmp ax, cx
je 0x100e3f92
cmp eax, edx
jle 0x100e3f9f
mov eax, dword [ebp - 0xd40]
mov word [edi + 0x6f8], ax
cmp edx, 0x2710
jb 0x100e3fbe
push 0x11e6
push str.C:Usersw9263DesktopFormDX_PrivateFormDXSAMPRakNetRakPeer.cpp
push str.ping___10000
call fcn.10063b16
add esp, 0xc
mov eax, dword [ebp - 0xd40]
lea ecx, [edi + 0x18]
movzx eax, ax
push eax
call fcn.100eec40
inc dword [edi + 0x6f4]
cmp dword [edi + 0x6f4], 5
jne 0x100e3fe9
mov dword [edi + 0x6f4], 0
push dword [ebp - 0xd38]
call fcn.10054445
add esp, 4
cmp byte [ebp - 0x8b8], 0
je 0x100e4b0a
cmp dword [ebp - 0x8c4], 0x800
jle 0x100e4b0a
push dword [ebp - 0x8bc]
call fcn.10062c3b
add esp, 4
jmp 0x100e4b0a
cmp al, 6
jne 0x100e41ff
cmp edi, 5
jne 0x100e421b
mov dword [ebp - 0xc10], 0x28
mov byte [ebp - 0xc00], 0
mov dword [ebp - 0xc0c], 0x28
mov dword [ebp - 0xc04], ecx
push 1
push 0x20
lea eax, [ebp - 0xdbc]
mov dword [ebp - 4], 2
push eax
lea ecx, [ebp - 0xc10]
mov dword [ebp - 0xc08], 8
call fcn.100dd2f0
lea eax, [ebp - 0x687]
mov dword [ebp - 0x698], 0
mov dword [ebp - 0x694], 0x800
mov dword [ebp - 0x690], 0
mov dword [ebp - 0x68c], eax
mov byte [ebp - 0x688], 1
push 1
push 8
lea eax, [ebp - 0xd74]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x698]
mov byte [ebp - 0xd74], 9
call fcn.100dd880
cmp byte [0x1017d2d1], 0
jne 0x100e40ed
push 0x1017d2f8
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov byte [0x1017d2d1], 1
lea eax, [ebp - 0xdc8]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 0
push 0x3e8
push dword [ebp - 0xdc4]
push dword [ebp - 0xdc8]
call fcn.10055560
push dword [0x1017d2fc]
push dword [0x1017d2f8]
push edx
push eax
call fcn.1007e110
mov edi, eax
lea ecx, [ebp - 0x698]
mov eax, dword [ebp - 0xdbc]
push 1
mov dword [ebp - 0xdc0], eax
lea eax, [ebp - 0xdc0]
push 0x20
push eax
mov dword [ebp - 0xd5c], edi
call fcn.100dd880
push 1
push 0x20
lea eax, [ebp - 0xd90]
mov dword [ebp - 0xd90], edi
push eax
lea ecx, [ebp - 0x698]
call fcn.100dd880
push dword [ebp - 0xd30]
mov ecx, esi
push dword [ebp - 0xd34]
push 0
push edi
push 0
push 0
push 0
push 6
push 0
push dword [ebp - 0x698]
push dword [ebp - 0x68c]
call fcn.100e5f30
push dword [ebp - 0xd38]
call fcn.10054445
add esp, 4
cmp byte [ebp - 0x688], 0
je 0x100e41c8
cmp dword [ebp - 0x694], 0x800
jle 0x100e41c8
push dword [ebp - 0x68c]
call fcn.10062c3b
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0xc00], 0
je 0x100e4b0a
cmp dword [ebp - 0xc0c], 0x800
jle 0x100e4b0a
push dword [ebp - 0xc04]
call fcn.10062c3b
add esp, 4
jmp 0x100e4b0a
cmp al, 0x20
jne 0x100e421b
push ecx
mov dword [edx + 0x83c], 3
call fcn.10054445
add esp, 4
jmp 0x100e4b0a
cmp al, 0x11
jne 0x100e4378
lea eax, [edi*8]
mov byte [ebp - 0xae8], 0
mov dword [ebp - 0xaf8], eax
mov dword [ebp - 0xaf4], eax
mov dword [ebp - 0xaec], ecx
push ecx
push 8
lea eax, [ebp - 0xd45]
mov dword [ebp - 4], 4
push eax
lea ecx, [ebp - 0xaf8]
mov dword [ebp - 0xaf0], 8
call fcn.100dd230
mov eax, dword [ebp - 0xd6c]
xor ecx, ecx
add eax, 0x830
mov dword [ebp - 0xd44], eax
mov edi, dword [eax + 4]
test edi, edi
je 0x100e42ad
mov eax, dword [eax]
mov dword [ebp - 0xd54], eax
nop dword [eax + eax]
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x100e42a8
movzx eax, byte [ebp - 0xd45]
cmp dword [edx], eax
je 0x100e42b0
mov eax, dword [ebp - 0xd54]
inc ecx
cmp ecx, edi
jb 0x100e4290
or cl, 0xff
movzx edi, byte [ebp - 0xd45]
movzx edx, cl
cmp edx, edi
je 0x100e4333
cmp cl, 0xff
je 0x100e42e0
mov eax, dword [ebp - 0xd44]
push 0xc
mov eax, dword [eax]
mov ecx, dword [eax + edx*4]
push ecx
mov dword [eax + edx*4], 0
call fcn.10054ab7
add esp, 8
push 0xc
call fcn.10054653
mov ecx, dword [ebp - 0xd44]
add esp, 4
mov dword [ebp - 0xd54], eax
mov dword [eax], edi
mov dword [eax + 4], 0
cmp edi, dword [ecx + 4]
jae 0x100e432b
mov ecx, dword [ecx]
mov edx, dword [ecx + edi*4]
test edx, edx
je 0x100e4326
push 0xc
push edx
call fcn.10054ab7
mov eax, dword [ebp - 0xd44]
add esp, 8
mov ecx, dword [eax]
mov eax, dword [ebp - 0xd54]
mov dword [ecx + edi*4], eax
jmp 0x100e4333
push edi
push ecx
push eax
call fcn.10052150
push dword [ebp - 0xd38]
call fcn.10054445
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0xae8], 0
je 0x100e4b0a
cmp dword [ebp - 0xaf4], 0x800
jle 0x100e4b0a
push dword [ebp - 0xaec]
call fcn.10062c3b
add esp, 4
jmp 0x100e4b0a
cmp al, 0xa
jne 0x100e43a4
push dword [ebp - 0xd30]
mov ecx, esi
push dword [ebp - 0xd34]
push 1
call fcn.100e6730
push dword [ebp - 0xd38]
call fcn.10054445
add esp, 4
jmp 0x100e4b0a
cmp al, 0x29
jne 0x100e4415
add edx, 0x704
lea eax, [edi - 1]
inc ecx
mov dword [ebp - 0xd40], edx
mov dword [ebp - 0xd54], ecx
mov dword [edx], 0
mov dword [edx + 8], 0
test eax, eax
je 0x100e4ac2
shl eax, 3
mov ecx, edx
push eax
call fcn.100dd1b0
mov ecx, dword [ebp - 0xd40]
lea eax, [edi - 1]
push eax
push dword [ebp - 0xd54]
mov eax, dword [ecx]
add eax, 7
sar eax, 3
add eax, dword [ecx + 0xc]
push eax
call fcn.100563e0
mov ecx, dword [ebp - 0xd40]
lea eax, [edi - 1]
shl eax, 3
add esp, 0xc
add dword [ecx], eax
jmp 0x100e4ac2
cmp al, 0xf
jne 0x100e443e
cmp edi, 0x39
jne 0x100e4ab5
push ecx
push edx
mov ecx, esi
call fcn.100e69d0
push dword [ebp - 0xd38]
call fcn.10054445
add esp, 4
jmp 0x100e4b0a
cmp al, 0x10
jne 0x100e4708
cmp edi, 0x35
jne 0x100e4ab5
mov dword [ebp - 0x350], 0x10140820
mov dword [ebp - 4], 5
lea eax, [ebp - 0xd34]
push 4
push eax
lea ecx, [ebp - 0x350]
mov byte [ebp - 0xd39], 0
mov dword [ebp - 0x34c], 0x67452301
mov dword [ebp - 0x348], 0xefcdab89
mov dword [ebp - 0x344], 0x98badcfe
mov dword [ebp - 0x340], 0x10325476
mov dword [ebp - 0x33c], 0xc3d2e1f0
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x334], 0
call fcn.100f33e0
push 2
lea eax, [ebp - 0xd30]
push eax
lea ecx, [ebp - 0x350]
call fcn.100f33e0
push 0x14
lea eax, [esi + 0x9ac]
push eax
lea ecx, [ebp - 0x350]
call fcn.100f33e0
lea ecx, [ebp - 0x350]
call fcn.100f32d0
mov edi, dword [ebp - 0xd38]
lea ecx, [ebp - 0x2f0]
mov dword [ebp - 0xd40], 0x10
lea edx, [edi + 1]
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100e452c
add ecx, 4
add edx, 4
sub dword [ebp - 0xd40], 4
jae 0x100e4510
mov al, 1
jmp 0x100e45ef
push 4
lea eax, [ebp - 0xd34]
mov dword [ebp - 0x34c], 0x67452301
push eax
lea ecx, [ebp - 0x350]
mov dword [ebp - 0x348], 0xefcdab89
mov dword [ebp - 0x344], 0x98badcfe
mov dword [ebp - 0x340], 0x10325476
mov dword [ebp - 0x33c], 0xc3d2e1f0
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x334], 0
call fcn.100f33e0
push 2
lea eax, [ebp - 0xd30]
push eax
lea ecx, [ebp - 0x350]
call fcn.100f33e0
push 0x14
lea eax, [esi + 0x9c0]
push eax
lea ecx, [ebp - 0x350]
call fcn.100f33e0
lea ecx, [ebp - 0x350]
call fcn.100f32d0
lea ecx, [ebp - 0x2f0]
mov dword [ebp - 0xd40], 0x10
lea edx, [edi + 1]
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100e45e9
add ecx, 4
add edx, 4
sub dword [ebp - 0xd40], 4
jae 0x100e45d0
mov al, 1
jmp 0x100e45ef
mov al, byte [ebp - 0xd39]
test al, al
je 0x100e46a3
cmp byte [esi + 0x8cc], 0
movups xmm0, xmmword [edi + 0x15]
movups xmmword [ebp - 0xdf0], xmm0
movups xmm0, xmmword [edi + 0x25]
movups xmmword [ebp - 0xde0], xmm0
je 0x100e4649
sub esp, 0x10
lea eax, [esi + 0x970]
lea edx, [ebp - 0xdf0]
lea ecx, [ebp - 0x288]
push eax
lea eax, [esi + 0x940]
push eax
lea eax, [esi + 0x910]
push eax
lea eax, [esi + 0x8d0]
push eax
call fcn.1004c510
add esp, 0x20
lea eax, [edi + 0x10]
xor ecx, ecx
lea edx, [ebp - 0x24]
cmp edx, eax
lea eax, [edi + 1]
ja 0x100e467d
lea edx, [ebp - 0x15]
cmp edx, eax
jb 0x100e467d
nop
mov al, byte [edi + ecx + 1]
xor al, byte [ebp + ecx - 0x288]
mov byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x10
jl 0x100e4660
mov esi, dword [ebp - 0xd84]
jmp 0x100e468f
movups xmm1, xmmword [eax]
movups xmm0, xmmword [ebp - 0x288]
pxor xmm1, xmm0
movups xmmword [ebp - 0x24], xmm1
mov ecx, dword [ebp - 0xd6c]
lea eax, [ebp - 0x24]
push 1
push eax
push ecx
mov ecx, esi
call fcn.100e7960
push edi
call fcn.10054445
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov dword [ebp - 0x350], 0x10140820
mov dword [ebp - 0x34c], 0x67452301
mov dword [ebp - 0x348], 0xefcdab89
mov dword [ebp - 0x344], 0x98badcfe
mov dword [ebp - 0x340], 0x10325476
mov dword [ebp - 0x33c], 0xc3d2e1f0
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x334], 0
jmp 0x100e4b0a
cmp al, 0x17
jne 0x100e4723
cmp edi, 1
jne 0x100e4ab5
push ecx
call fcn.10054445
add esp, 4
jmp 0x100e4b0a
cmp al, 0x22
jne 0x100e4ab5
cmp edi, 0xd
jne 0x100e4ab5
mov eax, dword [edx + 0x83c]
cmp eax, 5
je 0x100e4751
cmp eax, 4
je 0x100e4751
cmp byte [esi + 0x9d4], 0
jne 0x100e4751
xor dl, dl
jmp 0x100e475e
mov dl, 1
mov byte [ebp - 0xd29], dl
cmp eax, 5
je 0x100e4765
mov byte [ebp - 0xd29], 0
test dl, dl
je 0x100e4a8e
mov dword [ebp - 0x7b0], 0x68
mov byte [ebp - 0x7a0], 0
mov dword [ebp - 0x7ac], 0x68
mov dword [ebp - 0x7a4], ecx
push 1
push 0x20
lea eax, [ebp - 0xdac]
mov dword [ebp - 4], 6
push eax
lea ecx, [ebp - 0x7b0]
mov dword [ebp - 0x7a8], 8
call fcn.100dd2f0
push 1
push 0x10
lea eax, [ebp - 0xda8]
push eax
lea ecx, [ebp - 0x7b0]
call fcn.100dd2f0
push 1
push 0x10
lea eax, [ebp - 0xdb8]
push eax
lea ecx, [ebp - 0x7b0]
call fcn.100dd2f0
cmp byte [ebp - 0xd29], 0
mov ecx, dword [ebp - 0xd6c]
mov eax, dword [ebp - 0xdac]
mov dword [ecx + 0xc], eax
mov ax, word [ebp - 0xda8]
mov word [ecx + 0x10], ax
mov dword [ecx + 0x83c], 8
jne 0x100e4883
cmp byte [ecx + 0x82c], 0
je 0x100e4876
lea eax, [ecx + 0x81c]
mov dword [ebp - 0xd54], eax
test eax, eax
je 0x100e486d
lea edi, [ecx + 0x42c]
xor dl, dl
mov byte [edi + 0x258], 1
push eax
push ecx
mov ecx, edi
call fcn.100f1500
add esp, 8
mov dl, 1
push dword [ebp - 0xd54]
push ecx
lea ecx, [edi + 0x120]
call fcn.100f1500
add esp, 4
lea ecx, [edi + 0x240]
call fcn.100f1700
add esp, 4
jmp 0x100e4883
mov byte [ecx + 0x684], 0
jmp 0x100e4883
mov eax, dword [ebp - 0xd7c]
mov byte [eax + 0x66c], 0
push 0x1c
call fcn.10066bc0
mov edi, eax
add esp, 4
mov eax, dword [ebp - 0xd38]
mov dword [edi + 0x14], eax
mov dword [edi + 0xc], 0xd
mov byte [edi + 0x18], 1
mov dword [edi + 0x10], 0x68
mov ecx, dword [ebp - 0xd34]
mov dword [edi + 4], ecx
mov cx, word [ebp - 0xd30]
mov word [edi + 8], cx
mov ecx, esi
push 1
push dword [ebp - 0xd30]
push dword [ebp - 0xd34]
call fcn.100e8170
push edi
mov ecx, esi
mov word [edi], ax
call fcn.1004bd50
lea eax, [ebp - 0x56f]
mov dword [ebp - 0x580], 0
mov dword [ebp - 0x578], 0
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x57c], 0x800
mov byte [ebp - 0x570], 1
push 1
push 8
lea eax, [ebp - 0xd70]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x580]
mov byte [ebp - 0xd70], 0x1e
call fcn.100dd880
mov eax, dword [ebp - 0xd34]
lea ecx, [ebp - 0x580]
push 1
mov dword [ebp - 0xd94], eax
lea eax, [ebp - 0xd94]
push 0x20
push eax
call fcn.100dd880
movzx eax, word [ebp - 0xd30]
lea ecx, [ebp - 0x580]
push 1
mov dword [ebp - 0xd98], eax
lea eax, [ebp - 0xd98]
push 0x10
push eax
call fcn.100dd880
cmp byte [0x1017d2d1], 0
mov eax, dword [ebp - 0xd30]
mov edi, dword [ebp - 0xd34]
mov dword [ebp - 0xd54], eax
jne 0x100e49a2
push 0x1017d2f8
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov byte [0x1017d2d1], 1
lea eax, [ebp - 0xdd0]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 0
push 0x3e8
push dword [ebp - 0xdcc]
push dword [ebp - 0xdd0]
call fcn.10055560
push dword [0x1017d2fc]
push dword [0x1017d2f8]
push edx
push eax
call fcn.1007e110
push dword [ebp - 0xd54]
mov ecx, esi
push edi
push 0
push eax
push 0
push 0
push 0
push 8
push 0
push dword [ebp - 0x580]
push dword [ebp - 0x574]
call fcn.100e5f30
cmp byte [ebp - 0xd29], 0
jne 0x100e4a34
push dword [ebp - 0xd30]
mov ecx, esi
push dword [ebp - 0xd34]
push 1
call fcn.100e65e0
push dword [ebp - 0xd30]
mov ecx, esi
push dword [ebp - 0xd34]
push 1
call fcn.100e6730
cmp byte [ebp - 0x570], 0
je 0x100e4a57
cmp dword [ebp - 0x57c], 0x800
jle 0x100e4a57
push dword [ebp - 0x574]
call fcn.10062c3b
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x7a0], 0
je 0x100e4b0a
cmp dword [ebp - 0x7ac], 0x800
jle 0x100e4b0a
push dword [ebp - 0x7a4]
call fcn.10062c3b
add esp, 4
jmp 0x100e4b0a
push dword [ebp - 0xd30]
mov ecx, esi
push dword [ebp - 0xd34]
push 0
push 1
call fcn.100e7820
push dword [ebp - 0xd38]
call fcn.10054445
add esp, 4
jmp 0x100e4b0a
cmp edi, 2
jbe 0x100e4abe
cmp al, 0xc
je 0x100e4ac2
cmp al, 0x14
jb 0x100e4b0a
push 0x1c
call fcn.10066bc0
mov ecx, dword [ebp - 0xd38]
add esp, 4
mov dword [eax + 0x14], ecx
mov ecx, dword [ebp - 0xd60]
mov dword [eax + 0xc], edi
mov byte [eax + 0x18], 1
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xd34]
mov dword [eax + 4], ecx
mov cx, word [ebp - 0xd30]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0xd68]
mov word [eax], cx
mov ecx, esi
push eax
call fcn.1004bd50
mov ecx, dword [ebp - 0xd7c]
lea eax, [ebp - 0xd38]
push eax
call fcn.100ef5c0
mov dword [ebp - 0xd60], eax
test eax, eax
jg 0x100e39c1
jmp 0x100e4c68
mov eax, dword [edi + 0x83c]
cmp eax, 8
je 0x100e4b4d
cmp eax, 4
je 0x100e4b4d
cmp eax, 1
je 0x100e4b4d
cmp eax, 3
jne 0x100e4c4f
push 0x1d
call fcn.10066bc0
mov ecx, eax
add esp, 4
mov dword [ebp - 0xd54], ecx
lea edx, [ecx + 0x1c]
mov dword [ecx + 0xc], 1
mov dword [ecx + 0x14], edx
mov byte [ecx + 0x18], 0
mov eax, dword [edi + 0x83c]
cmp eax, 4
jne 0x100e4b80
mov byte [edx], 0x1d
jmp 0x100e4b8a
cmp eax, 8
sete al
add al, 0x20
mov byte [edx], al
mov dword [ecx + 0x10], 8
mov eax, dword [ebp - 0xd34]
mov dword [ecx + 4], eax
mov ax, word [ebp - 0xd30]
mov word [ecx + 8], ax
mov eax, dword [ebp - 0xd68]
mov word [ecx], ax
mov eax, dword [esi + 0x9e4]
mov eax, dword [eax + 8]
cmp eax, dword [esi + 0x9e8]
je 0x100e4bce
mov eax, dword [esi + 0x9e4]
mov eax, dword [eax + 8]
cmp byte [eax + 4], 1
jne 0x100e4c19
mov eax, dword [esi + 0x9e4]
push 0xc
mov edi, dword [eax + 8]
call fcn.10054653
mov ecx, dword [esi + 0x9e4]
add esp, 4
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x9e4]
cmp dword [eax + 8], 0
jne 0x100e4c0d
push 0x8f
push str.C:Usersw9263DesktopFormDX_PrivateFormDXSAMPRakNetSingleProducerConsumer.h
push str.writeAheadPointer__next
call fcn.10063b16
add esp, 0xc
mov eax, dword [esi + 0x9e4]
mov eax, dword [eax + 8]
mov dword [eax + 8], edi
mov ecx, dword [esi + 0x9e4]
mov eax, dword [ecx + 8]
mov dword [esi + 0x9e4], eax
mov eax, dword [ebp - 0xd54]
mov dword [ecx], eax
mov eax, dword [esi + 0x9ec]
inc dword [esi + 0x9f4]
mov byte [eax + 4], 1
mov eax, dword [esi + 0x9ec]
mov eax, dword [eax + 8]
mov dword [esi + 0x9ec], eax
push dword [ebp - 0xd30]
mov ecx, esi
push dword [ebp - 0xd34]
push 0
push 1
push 0
call fcn.100e63f0
mov ecx, dword [ebp - 0xd68]
movzx eax, word [esi + 8]
inc ecx
mov edx, dword [ebp - 0xd4c]
mov dword [ebp - 0xd68], ecx
cmp ecx, eax
jb 0x100e3714
mov al, 1
jmp 0x100e32b9