Function at 0x41bf00
Capabilities:
Encode data using xor

Disassembly:
mov al, byte [0x4b497e]
push ebx
test al, al
push esi
je 0x41c267
mov al, byte [0x4a49b0]
test al, al
jne 0x41c05b
mov ecx, dword [0x4ae220]
mov eax, dword [0x4aec44]
xor ebx, ebx
test ecx, ecx
jle 0x41bfb3
push edi
mov esi, ecx
test byte [eax + 0x1e], 1
jne 0x41bfaa
mov cl, byte [eax + 0x28]
mov edx, ecx
and ecx, 0xff
and edx, 0xff
xor ebx, edx
xor edx, edx
mov dl, byte [eax + 0x2f]
mov edi, edx
xor edx, edx
mov dl, byte [eax + 0x2e]
xor edi, edx
xor edx, edx
mov dl, byte [eax + 0x2c]
xor edi, edx
xor edx, edx
mov dl, byte [eax + 0x2a]
xor edi, edx
xor edx, edx
mov dl, byte [eax + 0x29]
xor edi, edx
xor edx, edx
mov dl, byte [eax + 0x27]
xor edi, edx
lea edx, [ebx + ebx]
xor edi, ecx
mov ecx, ebx
shr ecx, 0x1f
or ecx, edx
movsx edx, word [eax + 0x20]
xor edi, ecx
movsx ecx, word [eax + 0x22]
xor edi, ecx
movsx ecx, word [eax + 0x1a]
xor edi, edx
movsx edx, word [eax + 0x18]
xor edi, ecx
movsx ecx, word [eax + 2]
xor edi, edx
movsx edx, word [eax]
xor edi, ecx
xor edi, edx
mov ebx, edi
add eax, 0x98
dec esi
jne 0x41bf34
pop edi
mov eax, dword [0x4af0cc]
mov edx, dword [0x4af0c0]
mov ecx, dword [0x4af0c8]
sub eax, edx
xor eax, ecx
mov ecx, 8
xor ebx, eax
dec ecx
jne 0x41bfcd
xor eax, eax
mov ecx, dword [0x4ad60c]
mov ax, word [0x4acbdc]
imul eax, eax
mov edx, eax
dec eax
test edx, edx
je 0x41bff7
lea esi, [eax + 1]
xor eax, eax
mov al, byte [ecx]
xor ebx, eax
inc ecx
dec esi
jne 0x41bfed
xor eax, eax
mov ecx, ebx
lea edx, [ebx*8]
shr ecx, 0x1d
or ecx, edx
xor edx, edx
mov dl, byte [eax + 0x4abd54]
xor ecx, edx
inc eax
cmp eax, 0x100
mov ebx, ecx
jb 0x41bff9
mov eax, 0x4abac8
mov ecx, dword [eax]
add eax, 4
xor ebx, ecx
mov ecx, ebx
shr ecx, 0x1f
lea edx, [ebx + ebx]
or ecx, edx
cmp eax, 0x4abae8
mov ebx, ecx
jl 0x41c020
mov eax, ebx
push str.Should_not_be_here_
sar eax, 0x10
xor ebx, eax
call fcn.00488ae0
mov ecx, ebx
add esp, 4
sar ecx, 8
xor cl, bl
mov byte [0x4ce54e], cl
mov al, byte [0x4b497e]
test al, al
je 0x41c267
mov al, byte [0x4ae0fc]
test al, al
je 0x41c1fc
xor esi, esi
push 8
mov byte [0x4ce54c], 1
mov byte [0x4ae0be], 0
mov byte [0x4ae0ba], 0
mov dword [0x4ae0f8], esi
call fcn.0045b690
mov ebx, 0xfd
push ebx
call fcn.00434600
add esp, 8
call fcn.0045c080
test eax, eax
jne 0x41c0b9
call fcn.0045c080
test eax, eax
je 0x41c0b0
mov al, byte [0x4cdeb0]
test al, al
jne 0x41c0f8
push 2
call fcn.0045b690
xor eax, eax
add esp, 4
mov al, byte [0x4acb18]
lea edx, [eax*8]
sub edx, eax
xor eax, eax
mov al, byte [edx*8 + 0x4ad741]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
shl edx, 4
cmp byte [edx + 0x4cdebe], bl
je 0x41c0ff
jmp 0x41c0a7
mov byte [0x4ae0ba], 1
push 0x495e90
push str.sync.txt
call fcn.00489ae0
add esp, 8
cmp eax, esi
mov dword [0x4ae0c0], eax
jne 0x41c131
push 0x495e90
push 0x495e80
call fcn.0047cced
add esp, 8
mov dword [0x4ae0c0], eax
mov eax, dword [0x4ae220]
mov ecx, dword [0x4ae218]
cmp eax, ecx
jg 0x41c142
mov eax, ecx
xor ecx, ecx
mov cx, word [0x4acbdc]
cmp eax, ecx
jg 0x41c151
mov eax, ecx
push esi
push 0x532
push str.C:war2bneLANGSourceDPACKET.cpp
push eax
call sub.Storm.dll_Ordinal_401
push 0x53
mov dword [0x4ae100], eax
mov dword [0x4ab894], 0x41c270
call fcn.0041c510
push eax
call fcn.00434f50
mov eax, dword [0x4ae100]
add esp, 8
mov dword [0x4ab894], esi
push esi
push 0x536
push str.C:war2bneLANGSourceDPACKET.cpp
push eax
call sub.Storm.dll_Ordinal_403
mov al, byte [0x4ae0fc]
test al, al
je 0x41c1cf
mov ecx, dword [0x4ae0c0]
push ecx
call fcn.0047cc3f
mov edx, dword [0x4ab890]
push edx
call fcn.004055a0
add esp, 8
mov byte [0x4ae0fc], 0
mov byte [0x4ae0fd], 0
mov al, byte [0x4ae0ba]
test al, al
je 0x41c1f2
push 0xfa
call fcn.004604f0
add esp, 4
push str.BETA_ERROR:_packet_syncing_error_occurred_n
call fcn.00488ae0
add esp, 4
pop esi
mov byte [0x4ce54c], 0
pop ebx
ret
mov al, byte [0x4a49b0]
test al, al
jne 0x41c267
mov al, byte [0x4ce54c]
test al, al
jne 0x41c24a
push 8
call fcn.0048a850
add esp, 4
test ax, ax
je 0x41c267
push 0x11
call fcn.0048a850
add esp, 4
test ax, ax
je 0x41c267
push 0x10
call fcn.0048a850
add esp, 4
test ax, ax
je 0x41c267
push 0x12
call fcn.0048a850
add esp, 4
test ax, ax
je 0x41c267
mov al, byte [0x4ae0fd]
test al, al
jne 0x41c267
push 0xfe
mov byte [0x4ae0fd], 1
call fcn.00434600
add esp, 4
pop esi
pop ebx
ret