Function at 0x4925c0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x647d96
mov eax, dword fs:[0]
push eax
mov eax, 0x17c0
call fcn.00607930
mov eax, dword [0x6bc858]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea esi, [ebp - 0x167c]
mov dword [ebp - 0x1748], eax
call fcn.004d3a70
push eax
call fcn.004d3c60
add esp, 4
cmp dword [ebp - 0x1664], 0x10
mov esi, eax
mov edi, edx
jb 0x49262b
mov ecx, dword [ebp - 0x1678]
push ecx
call fcn.005f0cb0
add esp, 4
xor ebx, ebx
mov dword [ebp - 0x1664], 0xf
mov dword [ebp - 0x1668], ebx
mov byte [ebp - 0x1678], bl
lea ecx, [ebp - 0x167c]
mov dword [ebp - 4], ebx
call fcn.0040ed70
mov edx, dword [ebp - 0x167c]
push edx
call fcn.005f0cb0
add esp, 4
lea ecx, [ebp - 0x167c]
mov dword [ebp - 0x167c], ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0040ed70
mov dword [ebp - 0x178c], esi
sub esi, 0x3f480
mov dword [ebp - 0x1788], edi
sbb edi, ebx
mov dword [ebp - 0x1784], esi
lea ecx, [ebp - 0x178c]
lea esi, [ebp - 0x169c]
mov dword [ebp - 0x1780], edi
call fcn.004d3bf0
push 1
push 0x686e70
mov eax, esi
push eax
xor eax, eax
mov dword [ebp - 4], 1
call fcn.00460a50
push eax
push ebx
lea ecx, [ebp - 0x167c]
push ecx
mov edx, esi
push edx
call fcn.00415980
mov esi, eax
lea edi, [ebp - 0x169c]
mov byte [ebp - 4], 2
call fcn.00419940
cmp dword [ebp - 0x1664], 0x10
jb 0x4926fb
mov eax, dword [ebp - 0x1678]
push eax
call fcn.005f0cb0
add esp, 4
mov dword [ebp - 0x1664], 0xf
mov dword [ebp - 0x1668], ebx
mov byte [ebp - 0x1678], bl
lea ecx, [ebp - 0x167c]
mov byte [ebp - 4], 3
call fcn.0040ed70
mov ecx, dword [ebp - 0x167c]
push ecx
call fcn.005f0cb0
add esp, 4
lea ecx, [ebp - 0x167c]
mov dword [ebp - 0x167c], ebx
mov byte [ebp - 4], 1
call fcn.0040ed70
lea ecx, [ebp - 0x1784]
lea esi, [ebp - 0x16bc]
call fcn.004d3bf0
push 1
push 0x686e70
mov edx, esi
push edx
xor eax, eax
mov byte [ebp - 4], 4
call fcn.00460a50
push eax
push ebx
lea eax, [ebp - 0x167c]
push eax
mov ecx, esi
push ecx
call fcn.00415980
mov esi, eax
lea edi, [ebp - 0x16bc]
mov byte [ebp - 4], 5
call fcn.00419940
cmp dword [ebp - 0x1664], 0x10
jb 0x4927a4
mov edx, dword [ebp - 0x1678]
push edx
call fcn.005f0cb0
add esp, 4
mov dword [ebp - 0x1664], 0xf
mov dword [ebp - 0x1668], ebx
mov byte [ebp - 0x1678], bl
lea ecx, [ebp - 0x167c]
mov byte [ebp - 4], 6
call fcn.0040ed70
mov eax, dword [ebp - 0x167c]
push eax
call fcn.005f0cb0
add esp, 4
lea ecx, [ebp - 0x167c]
mov dword [ebp - 0x167c], ebx
mov byte [ebp - 4], 4
call fcn.0040ed70
push 0x40
lea ecx, [ebp - 0x17cc]
push ebx
push ecx
mov dword [ebp - 0x1730], ebx
call fcn.005ff630
add esp, 0xc
mov ecx, 8
mov esi, 0x6c4df4
lea edi, [ebp - 0x17ac]
push 0x23
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x17c0], eax
lea eax, [ebp - 0x1720]
xor edx, edx
push eax
mov word [ebp - 0x17c6], dx
call fcn.004aee20
sub esp, 0x20
mov byte [ebp - 4], 7
mov ecx, esp
mov dword [ebp - 0x1740], esp
push 0x67a51c
call fcn.00412330
sub esp, 0x20
mov esi, esp
mov dword [ebp - 0x1744], esp
mov dword [ebp - 0x1724], esi
mov dword [esi], ebx
push 8
mov byte [ebp - 4], 9
call fcn.005f0fe0
add esp, 4
cmp eax, ebx
je 0x493070
mov dword [esi], eax
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov ecx, dword [esi]
mov dword [ecx], esi
push 0xffffffffffffffff
mov byte [ebp - 4], 0xa
push ebx
lea edx, [ebp - 0x169c]
mov edi, 0xf
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], ebx
push edx
mov ecx, esi
mov byte [esi + 4], bl
call fcn.004126e0
sub esp, 0x20
mov esi, esp
mov dword [ebp - 0x1728], esp
mov dword [ebp - 0x1724], esi
mov dword [esi], ebx
push 8
mov byte [ebp - 4], 0xc
call fcn.005f0fe0
add esp, 4
cmp eax, ebx
je 0x49303d
mov dword [esi], eax
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov eax, dword [esi]
mov dword [eax], esi
push 0xffffffffffffffff
mov byte [ebp - 4], 0xd
push ebx
lea ecx, [ebp - 0x16bc]
push ecx
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], ebx
mov ecx, esi
mov byte [esi + 4], bl
call fcn.004126e0
mov byte [ebp - 4], 0xb
mov eax, dword [0x6c5338]
push 0xffffffffffffffff
mov byte [ebp - 4], 7
mov ecx, dword [eax + 0x274]
push ebx
lea edx, [ebp - 0x1720]
call fcn.004a32a0
cmp eax, ebx
jne 0x492f4c
push 0x3e7
lea ecx, [ebp - 0x3fb]
push ebx
push ecx
mov byte [ebp - 0x3fc], bl
call fcn.005ff630
add esp, 0xc
lea edx, [ebp - 0x1770]
push edx
lea eax, [ebp - 0x16f8]
push eax
mov dword [ebp - 0x1724], ebx
call fcn.004c94d0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x177c]
push ecx
lea edx, [ebp - 0x16f8]
push edx
call fcn.00434830
mov esi, eax
lea edi, [ebp - 0x1770]
mov byte [ebp - 4], 0xf
call fcn.004476f0
test al, al
push 3
lea ecx, [ebp - 0x1744]
sete byte [ebp - 0x1729]
mov byte [ebp - 4], 0xe
call fcn.00564140
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x177c]
cmp eax, ebx
je 0x4929f2
cmp dword [eax + 4], ebx
lea esi, [eax + 4]
je 0x4929cd
mov eax, dword [esi]
lea ecx, [ebp - 0x177c]
cmp eax, ecx
je 0x4929c9
cmp dword [eax + 4], ebx
lea esi, [eax + 4]
jne 0x4929b5
cmp dword [esi], ebx
jne 0x4929e4
push 0xb5
push 0x676220
push str.ITERATOR_LIST_CORRUPTED_
call fcn.00563e60
add esp, 0xc
mov edx, dword [ebp - 0x1778]
mov dword [esi], edx
mov dword [ebp - 0x177c], ebx
lea ecx, [ebp - 0x1744]
mov byte [ebp - 4], 0xe
call fcn.00564180
cmp byte [ebp - 0x1729], bl
je 0x492d99
push 0x2c
lea eax, [ebp - 0x16e8]
push ebx
push eax
call fcn.005ff630
add esp, 0xc
lea esi, [ebp - 0x1770]
call fcn.00447600
mov eax, dword [eax]
mov edi, 0x10
cmp dword [eax + 0x18], edi
jb 0x492a3b
mov eax, dword [eax + 4]
jmp 0x492a3e
add eax, 4
push eax
lea ecx, [ebp - 0x16e8]
push 0xc
push ecx
call fcn.005f6a30
add esp, 0xc
lea esi, [ebp - 0x1770]
call fcn.00447600
mov eax, dword [eax]
cmp dword [eax + 0x38], edi
jb 0x492a67
mov eax, dword [eax + 0x24]
jmp 0x492a6a
add eax, 0x24
push eax
lea edx, [ebp - 0x16dc]
push 0x20
push edx
call fcn.005f6a30
mov eax, dword [ebp - 0x1724]
mov ecx, eax
imul ecx, ecx, 0x2c
lea edi, [ebp + ecx - 0x3fc]
add esp, 0xc
mov ecx, 0xb
lea esi, [ebp - 0x16e8]
rep movsd dword es:[edi], dword [esi]
cmp eax, 0x14
jne 0x492cfc
push 0x5db
lea edx, [ebp - 0x9db]
push ebx
push edx
mov byte [ebp - 0x9dc], bl
call fcn.005ff630
add esp, 0xc
push 0x14
call dword [sym.imp.WS2_32.dll_htons]
mov esi, dword [ebp - 0x1730]
add esi, 0x370
mov word [ebp - 0x17c8], ax
mov eax, 0xffffffff
mov ecx, ebx
je 0x492b0f
jmp 0x492af0
movzx edx, byte [ebp + ecx - 0x9dc]
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x673be0]
inc ecx
cmp ecx, esi
jb 0x492af0
mov edi, dword [sym.imp.WS2_32.dll_htonl]
not eax
add esi, 0x40
push eax
mov dword [ebp - 0x1730], esi
call edi
push esi
mov dword [ebp - 0x17c4], eax
call edi
mov dword [ebp - 0x17cc], eax
mov ecx, 0x10
lea esi, [ebp - 0x17cc]
lea edi, [ebp - 0x9dc]
push 0x370
lea eax, [ebp - 0x3fc]
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [ebp - 0x99c]
push ecx
call fcn.00602090
add esp, 0xc
lea ecx, [ebp - 0x1764]
call fcn.004ba0a0
mov edx, str.CClient::SendPhoneNumPacket
lea ecx, [ebp - 0x1764]
mov byte [ebp - 4], 0x11
call fcn.004ba350
mov edx, dword [ebp - 0x1730]
push edx
lea eax, [ebp - 0x9dc]
push eax
lea ecx, [ebp - 0x1724]
lea edx, [ebp - 0x1764]
mov dword [ebp - 0x1724], ebx
call fcn.004baa20
mov esi, eax
cmp esi, ebx
je 0x492ca4
lea ecx, [ebp - 0x1750]
call fcn.004bb890
mov byte [ebp - 4], 0x12
mov edi, dword [ebp - 0x1724]
push edi
lea ecx, [ebp - 0x167c]
push ecx
mov ecx, esi
call fcn.004bbb00
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x1678]
mov esi, 0x10
cmp dword [ebp - 0x1664], esi
jae 0x492bef
lea eax, [ebp - 0x1678]
mov ecx, dword [ebp - 0x1748]
push edi
push eax
call fcn.00492510
cmp dword [ebp - 0x1664], esi
jb 0x492c13
mov edx, dword [ebp - 0x1678]
push edx
call fcn.005f0cb0
add esp, 4
mov dword [ebp - 0x1664], 0xf
mov dword [ebp - 0x1668], ebx
mov byte [ebp - 0x1678], bl
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0x167c], ebx
je 0x492c76
push 3
lea ecx, [ebp - 0x1740]
call fcn.00564140
mov eax, dword [ebp - 0x167c]
cmp dword [eax + 4], ebx
je 0x492c62
lea ecx, [ecx]
mov ecx, dword [eax + 4]
mov dword [ecx], ebx
mov edx, dword [eax + 4]
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
cmp ecx, ebx
jne 0x492c50
mov edx, dword [ebp - 0x167c]
lea ecx, [ebp - 0x1740]
mov dword [edx + 4], ebx
call fcn.00564180
mov eax, dword [ebp - 0x167c]
push eax
call fcn.005f0cb0
mov eax, dword [ebp - 0x1750]
add esp, 4
mov dword [ebp - 0x167c], ebx
cmp eax, ebx
je 0x492ca4
push eax
call fcn.005f0cb0
add esp, 4
mov dword [ebp - 0x1750], ebx
push 0x3e8
lea ecx, [ebp - 0x3fc]
push ebx
push ecx
mov dword [ebp - 0x1724], ebx
call fcn.005ff630
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x1764]
add esp, 0xc
cmp eax, ebx
je 0x492cd6
push eax
call fcn.005f0cb0
add esp, 4
mov eax, dword [ebp - 0x1760]
cmp eax, ebx
je 0x492ce9
push eax
call fcn.005f0cb0
add esp, 4
mov eax, dword [ebp - 0x175c]
cmp eax, ebx
je 0x492cfc
push eax
call fcn.005f0cb0
add esp, 4
inc dword [ebp - 0x1724]
lea edx, [ebp - 0x173c]
push edx
lea ebx, [ebp - 0x1770]
call fcn.004474c0
push 3
lea ecx, [ebp - 0x1728]
call fcn.00564140
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x173c]
test eax, eax
je 0x492d83
cmp dword [eax + 4], 0
lea esi, [eax + 4]
je 0x492d5a
jmp 0x492d40
mov eax, dword [esi]
lea ecx, [ebp - 0x173c]
cmp eax, ecx
je 0x492d55
cmp dword [eax + 4], 0
lea esi, [eax + 4]
jne 0x492d40
cmp dword [esi], 0
jne 0x492d71
push 0xb5
push 0x676220
push str.ITERATOR_LIST_CORRUPTED_
call fcn.00563e60
add esp, 0xc
mov edx, dword [ebp - 0x1738]
mov dword [esi], edx
mov dword [ebp - 0x173c], 0
lea ecx, [ebp - 0x1728]
mov byte [ebp - 4], 0xe
call fcn.00564180
xor ebx, ebx
jmp 0x492961
mov esi, dword [ebp - 0x1724]
cmp esi, ebx
jle 0x492f18
push 0xc7f
lea eax, [ebp - 0x165b]
push ebx
push eax
mov byte [ebp - 0x165c], bl
call fcn.005ff630
add esp, 0xc
push esi
call dword [sym.imp.WS2_32.dll_htons]
imul esi, esi, 0x2c
mov edi, dword [ebp - 0x1730]
add edi, esi
mov dword [ebp - 0x1728], esi
mov edx, edi
lea esi, [ebp - 0x165c]
mov word [ebp - 0x17c8], ax
call fcn.00466350
mov esi, dword [sym.imp.WS2_32.dll_htonl]
add edi, 0x40
push eax
mov dword [ebp - 0x1730], edi
call esi
push edi
mov dword [ebp - 0x17c4], eax
call esi
mov dword [ebp - 0x17cc], eax
mov ecx, 0x10
lea esi, [ebp - 0x17cc]
lea edi, [ebp - 0x165c]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x1728]
push esi
lea ecx, [ebp - 0x3fc]
push ecx
lea edx, [ebp - 0x161c]
push edx
call fcn.00602090
add esp, 0xc
push esi
lea eax, [ebp - 0x3fc]
push eax
lea ecx, [ebp + esi - 0x161c]
push ecx
call fcn.00602090
add esp, 0xc
lea ecx, [ebp - 0x1764]
call fcn.004ba0a0
mov edx, str.CClient::SendPhoneNumPacket
lea ecx, [ebp - 0x1764]
mov byte [ebp - 4], 0x16
call fcn.004ba350
mov edx, dword [ebp - 0x1730]
push edx
lea eax, [ebp - 0x165c]
push eax
lea ecx, [ebp - 0x1724]
lea edx, [ebp - 0x1764]
mov dword [ebp - 0x1724], ebx
call fcn.004baa20
mov esi, eax
cmp esi, ebx
je 0x492f0d
lea ecx, [ebp - 0x1750]
call fcn.004bb890
mov byte [ebp - 4], 0x17
mov edi, dword [ebp - 0x1724]
push edi
lea ecx, [ebp - 0x167c]
push ecx
mov ecx, esi
call fcn.004bbb00
mov byte [ebp - 4], 0x18
cmp dword [ebp - 0x1664], 0x10
mov eax, dword [ebp - 0x1678]
jae 0x492ede
lea eax, [ebp - 0x1678]
mov ecx, dword [ebp - 0x1748]
push edi
push eax
call fcn.00492510
lea ecx, [ebp - 0x167c]
mov byte [ebp - 4], 0x17
call fcn.00412410
mov eax, dword [ebp - 0x1750]
cmp eax, ebx
je 0x492f0d
push eax
call fcn.005f0cb0
add esp, 4
lea esi, [ebp - 0x1764]
call fcn.004ba300
push 3
lea ecx, [ebp - 0x1728]
mov byte [ebp - 4], 7
call fcn.00564140
lea ecx, [ebp - 0x1770]
mov byte [ebp - 4], 0x19
call fcn.00413660
lea ecx, [ebp - 0x1728]
mov byte [ebp - 4], 7
call fcn.00564180
mov edi, 0xf
lea edx, [ebp - 0x1720]
push edx
mov byte [ebp - 4], 4
call fcn.004aef10
mov esi, 0x10
cmp dword [ebp - 0x16a4], esi
jb 0x492f78
mov eax, dword [ebp - 0x16b8]
push eax
call fcn.005f0cb0
add esp, 4
mov dword [ebp - 0x16a4], edi
mov dword [ebp - 0x16a8], ebx
mov byte [ebp - 0x16b8], bl
lea ecx, [ebp - 0x16bc]
mov byte [ebp - 4], 0x1a
call fcn.0040ed70
mov ecx, dword [ebp - 0x16bc]
push ecx
call fcn.005f0cb0
add esp, 4
lea ecx, [ebp - 0x16bc]
mov dword [ebp - 0x16bc], ebx
mov byte [ebp - 4], 1
call fcn.0040ed70
cmp dword [ebp - 0x1684], esi
jb 0x492fd4
mov edx, dword [ebp - 0x1698]
push edx
call fcn.005f0cb0
add esp, 4
mov dword [ebp - 0x1684], edi
mov dword [ebp - 0x1688], ebx
mov byte [ebp - 0x1698], bl
lea ecx, [ebp - 0x169c]
mov dword [ebp - 4], 0x1b
call fcn.0040ed70
mov eax, dword [ebp - 0x169c]
push eax
call fcn.005f0cb0
add esp, 4
lea ecx, [ebp - 0x169c]
mov dword [ebp - 0x169c], ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0040ed70
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005f0da0
mov esp, ebp
pop ebp
ret 4
lea ecx, [ebp - 0x1728]
push ecx
lea ecx, [ebp - 0x173c]
mov dword [ebp - 0x1728], ebx
call fcn.005f41f0
push 0x6a361c
lea edx, [ebp - 0x173c]
push edx
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call fcn.006009e0
lea eax, [ebp - 0x1728]
push eax
lea ecx, [ebp - 0x173c]
mov dword [ebp - 0x1728], ebx
call fcn.005f41f0
push 0x6a361c
lea ecx, [ebp - 0x173c]
push ecx
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call fcn.006009e0
int3