Function at 0x483250
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1050
call fcn.0054f750
mov eax, dword [0x62aabc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
movsd xmm1, qword [0x55b110]
push esi
mov dword [ebp - 0x104c], eax
mov eax, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x1050], eax
mov dword [ebp - 0x102c], edi
movsd qword [ebp - 0x1044], xmm1
mov eax, dword [edi + 0x514]
add eax, dword [edi + 0x534]
mov dword [ebp - 0x1024], eax
xor eax, eax
mov dword [ebp - 0x1034], eax
mov eax, dword [edi + 0x4ac]
mov dword [ebp - 0x103c], 0
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x4832e6
push 0x564ccc
push eax
call fcn.00481370
movsd xmm1, qword [0x55b110]
add esp, 8
neg eax
sbb edx, edx
inc edx
mov dword [ebp - 0x103c], edx
mov ecx, dword [edi + 0x4ac]
mov esi, dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov ecx, dword [ecx + 0x38]
test ecx, ecx
je 0x483320
push ecx
call esi
xorps xmm0, xmm0
add esp, 4
movd xmm1, eax
cvtdq2pd xmm1, xmm1
divsd xmm1, qword [0x55a7e8]
comisd xmm0, xmm1
movsd qword [ebp - 0x1044], xmm1
jb 0x48337e
mov eax, dword [edi + 0x4ac]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x48334b
push eax
call esi
add esp, 4
movd xmm1, eax
cvtdq2pd xmm1, xmm1
divsd xmm1, qword [0x55a7e8]
movsd qword [ebp - 0x1044], xmm1
xorps xmm0, xmm0
comisd xmm0, xmm1
jb 0x48337e
push str.30000
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atof]
fdiv qword [0x55a7e8]
add esp, 4
fstp qword [ebp - 0x1044]
movsd xmm0, qword [ebp - 0x1044]
movsd qword [ebp - 0x1044], xmm0
push str.wsock
mov dword [edi + 0x528], 1
call fcn.00480760
mov eax, dword [edi + 0x4a8]
add esp, 4
cmp dword [eax + 0x14], 0
jne 0x4837ea
push ebx
nop word [eax + eax]
cmp dword [edi + 0x51c], 0
jne 0x4837e9
mov ebx, dword [edi + 0x538]
sub ebx, dword [edi + 0x534]
cmp ebx, 2
jb 0x483413
mov edx, dword [ebp - 0x1024]
movzx ecx, byte [edx + 1]
mov esi, ecx
shr ecx, 5
and esi, 0x7f
and ecx, 4
mov dword [ebp - 0x101c], esi
mov dword [ebp - 0x1038], ecx
cmp esi, 0x7e
jae 0x48346d
cmp ebx, ecx
jb 0x48346a
lea eax, [ecx + 2]
mov dword [ebp - 0x1030], 0
mov dword [ebp - 0x1020], eax
cmp ebx, eax
jae 0x4834f9
mov ecx, dword [edi + 0x538]
sub esp, 8
mov eax, dword [edi + 0x530]
movsd xmm0, qword [ebp - 0x1044]
sub eax, ecx
movsd qword [esp], xmm0
push eax
mov eax, dword [edi + 0x514]
add eax, ecx
push eax
push edi
push 0
call fcn.00482be0
add esp, 0x18
cmp eax, 0xfffffffe
jle 0x4837e9
test eax, eax
jle 0x483757
add dword [edi + 0x538], eax
xor eax, eax
mov dword [ebp - 0x1034], eax
jmp 0x4837b5
cmp esi, 0x7e
jne 0x4834a9
lea eax, [ecx + 4]
mov dword [ebp - 0x1020], eax
cmp ebx, eax
jb 0x4834a9
movzx eax, byte [edx + 2]
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x1024]
shld ecx, esi, 8
shl esi, 8
movzx eax, byte [eax + 3]
cdq
add esi, eax
mov dword [ebp - 0x101c], esi
adc ecx, edx
mov dword [ebp - 0x1030], ecx
jmp 0x4834f9
lea eax, [ecx + 0xa]
mov dword [ebp - 0x1020], eax
cmp ebx, eax
jb 0x483413
push dword [edx + 2]
mov esi, dword [edx + 6]
call dword [sym.imp.WS2_32.dll_ntohl]
push esi
mov edi, eax
call dword [sym.imp.WS2_32.dll_ntohl]
mov esi, eax
xor eax, eax
add esi, eax
mov dword [ebp - 0x101c], esi
adc eax, edi
mov dword [ebp - 0x1030], eax
test eax, eax
ja 0x4837e9
jb 0x4834f9
cmp esi, 0x7fff0000
ja 0x4837e9
lea ecx, [ebp - 0x1014]
mov dword [ebp - 0x1028], ecx
cmp esi, 0x1000
jbe 0x483527
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1028], ecx
test ecx, ecx
je 0x4837e9
cmp dword [ebp - 0x1038], 0
mov edx, dword [ebp - 0x1020]
jbe 0x48354f
mov edi, dword [ebp - 0x1024]
mov eax, edx
sub eax, dword [ebp - 0x1038]
mov eax, dword [eax + edi]
mov dword [ebp - 0x1048], eax
jmp 0x483559
mov dword [ebp - 0x1048], 0
mov eax, dword [ebp - 0x1024]
mov dword [ebp - 0x1020], edx
mov al, byte [eax]
mov byte [ebp - 0x1016], al
xor eax, eax
add dword [ebp - 0x1020], esi
adc eax, dword [ebp - 0x1030]
test eax, eax
jb 0x48361a
ja 0x483591
cmp dword [ebp - 0x1020], ebx
jbe 0x48361a
mov eax, dword [ebp - 0x1024]
sub ebx, edx
push ebx
add eax, edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov edi, dword [ebp - 0x102c]
xor eax, eax
add esp, 0xc
cmp eax, dword [ebp - 0x1030]
ja 0x48360c
jb 0x4835c0
cmp ebx, esi
jae 0x48360c
nop dword [eax]
movsd xmm0, qword [ebp - 0x1044]
sub esp, 8
mov eax, esi
sub eax, ebx
movsd qword [esp], xmm0
push eax
mov eax, dword [ebp - 0x1028]
add eax, ebx
push eax
push edi
push 0
call fcn.00482be0
add esp, 0x18
cmp eax, 0xfffffffe
jle 0x4837c7
test eax, eax
lea ecx, [eax + ebx]
cmovle ecx, ebx
xor eax, eax
mov ebx, ecx
cmp eax, dword [ebp - 0x1030]
jb 0x4835c0
ja 0x48360c
cmp ebx, esi
jb 0x4835c0
mov eax, dword [edi + 0x534]
mov dword [edi + 0x538], eax
jmp 0x483659
push dword [ebp - 0x101c]
mov eax, dword [ebp - 0x1024]
add esi, edx
add eax, edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x1024]
sub ebx, esi
push ebx
lea eax, [esi + ecx]
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
mov edi, dword [ebp - 0x102c]
add esp, 0x18
sub dword [edi + 0x538], esi
mov esi, dword [ebp - 0x101c]
cmp dword [ebp - 0x1038], 0
mov ebx, dword [ebp - 0x1028]
jbe 0x483684
xor ecx, ecx
test esi, esi
je 0x483684
nop
mov eax, ecx
and eax, 3
mov al, byte [ebp + eax - 0x1048]
xor byte [ecx + ebx], al
inc ecx
cmp ecx, esi
jb 0x483670
mov cl, byte [ebp - 0x1016]
mov al, cl
mov dword [ebp - 0x101c], 0
and al, 0xf
cmp dword [ebp - 0x103c], 0
mov byte [ebp - 0x1016], al
je 0x483714
cmp al, 0xa
jne 0x4836be
xor eax, eax
mov byte [ebp - 0x1015], 0xa
mov dword [ebp - 0x1034], eax
mov esi, eax
jmp 0x4836e6
cmp al, 9
jne 0x48371a
push 0
push esi
push ebx
push 0xa
push edi
call fcn.00481830
add esp, 0x14
test eax, eax
jle 0x4837e9
mov byte [ebp - 0x1015], 9
mov esi, dword [ebp - 0x101c]
lea eax, [ebp - 0x1014]
cmp ebx, eax
je 0x4836fa
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
test esi, esi
jne 0x4837e9
cmp byte [ebp - 0x1015], 8
je 0x4837e9
jmp 0x4837b5
mov byte [ebp - 0x1016], al
mov edx, dword [ebp - 0x104c]
mov byte [ebp - 0x1015], al
test edx, edx
je 0x4836e0
push dword [ebp - 0x1050]
mov byte [ebp - 0x1015], al
push esi
push ebx
movzx eax, cl
push eax
push edi
call edx
add esp, 0x14
test eax, eax
jne 0x4836e0
lea esi, [eax + 1]
mov al, byte [ebp - 0x1016]
mov byte [ebp - 0x1015], al
jmp 0x4836e6
mov eax, dword [edi + 0x4a8]
cmp dword [eax + 0x14], 0
jne 0x4837b5
cmp dword [edi + 0x51c], 0
jne 0x4837b5
mov ebx, dword [ebp - 0x1034]
cmp ebx, 5
jg 0x4837e9
cmp dword [ebp - 0x103c], 0
je 0x4837b5
lea esi, [edi + 0x554]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 2
lea eax, [ebp - 0x14]
mov word [ebp - 0x14], 0x89
push eax
push edi
call fcn.00481930
add esp, 0xc
push esi
cmp eax, 2
jne 0x4837e3
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
inc ebx
mov dword [ebp - 0x1034], ebx
mov eax, dword [edi + 0x4a8]
cmp dword [eax + 0x14], 0
je 0x4833b0
jmp 0x4837e9
mov eax, dword [ebp - 0x1028]
lea ecx, [ebp - 0x1014]
cmp eax, ecx
je 0x4837e9
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x4837e9
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop ebx
push str.worker
call fcn.00480760
mov eax, dword [ebp - 0x102c]
add esp, 4
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop edi
mov dword [eax + 0x528], 0
pop esi
call fcn.0054f742
mov esp, ebp
pop ebp
ret