Function at 0x424b3f
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
movzx eax, word [ecx]
push ebx
push esi
push edi
mov esi, 0x42f200
mov dword [ebp - 8], ecx
lea edi, [ebp - 0x1c]
xor ebx, ebx
mov edx, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, eax
mov dword [ebp - 4], esi
cmp ax, word [ebp - 0x1c]
jne 0x424b8b
movzx esi, si
mov eax, ebx
test si, si
je 0x424b8b
cmp word [ebp + eax - 0x1c], bx
je 0x424b8b
inc edx
lea eax, [edx + edx]
movzx esi, word [eax + ecx]
cmp si, word [ebp + eax - 0x1c]
je 0x424b70
movzx ecx, byte [ecx + edx*2]
movzx eax, byte [ebp + edx*2 - 0x1c]
mov edx, dword [0x435ab8]
sub ecx, eax
cmp ecx, 0x1bf2
jbe 0x424bac
xor edx, 0xa29efa94
jmp 0x424bb2
xor edx, 0x3bfc30a
mov eax, ebx
add edx, 0xe71eaa13
inc eax
cmp byte [eax + str.unknown], bl
jne 0x424bb4
mov ecx, dword [ebp - 8]
cmp ecx, eax
jae 0x424bef
mov esi, edx
mov edi, edx
mov edx, edi
cmp ecx, 0x19bf
jne 0x424be0
mov edx, esi
xor edx, 0xe1b9ea60
xor edx, 0x1da9c609
inc ecx
mov esi, edx
mov edi, esi
cmp ecx, eax
jb 0x424bce
push 0xb
pop ecx
mov esi, 0x42d480
lea edi, [ebp - 0x34]
rep movsd dword es:[edi], dword [esi]
push 0x74
pop ecx
xor esi, esi
cmp cx, word [ebp - 0x34]
jne 0x424c44
mov eax, esi
test cx, cx
je 0x424c27
cmp word [ebp + eax - 0x34], si
je 0x424c27
inc ebx
lea eax, [ebx + ebx]
movzx ecx, word [eax + str.too_many_files_open_in_system]
cmp cx, word [ebp + eax - 0x34]
je 0x424c09
mov eax, dword [ebp - 8]
jmp 0x424c40
cmp eax, 0x59b
jne 0x424c39
imul edx, edx, 0xa0bb8832
sub edx, 0x388fd416
inc eax
cmp eax, ebx
jb 0x424c2c
mov ebx, dword [ebp - 4]
lea edi, [ebp - 0x20]
mov eax, esi
mov esi, 0x42c120
push 6
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 8]
cmp bx, word [ebp - 0x20]
jne 0x424c84
movzx edi, bx
xor ecx, ecx
xor ebx, ebx
test di, di
je 0x424c81
cmp word [ebp + ecx - 0x20], bx
je 0x424c81
inc eax
lea ecx, [eax + eax]
movzx edi, word [ecx + esi]
cmp di, word [ebp + ecx - 0x20]
je 0x424c66
mov ebx, dword [ebp - 4]
movzx ecx, byte [esi + eax*2]
movzx eax, byte [ebp + eax*2 - 0x20]
sub ecx, eax
cmp ecx, 0x1730
jae 0x424c9f
or edx, 0x32d5f173
jmp 0x424ca5
and edx, 0x1600437d
or edx, 0xe1b5f28e
xor eax, eax
add edx, 0x1166f4cb
mov edi, eax
and edx, 0x39a6a6ab
imul ecx, edx, 0x56b14d60
imul ecx, ecx, 0x4fb17bdd
inc edi
cmp word [edi*2 + 0x432b40], ax
jne 0x424cc1
mov eax, ecx
add ecx, 0xb400281c
or eax, 0x471ef805
cmp edi, 0x2121
cmovne ecx, eax
xor edi, edi
or ecx, 0x184e7b65
mov eax, edi
test bx, bx
je 0x424d04
add ecx, 0x9a504da3
inc eax
cmp word [esi + eax*2], di
jne 0x424cf7
mov edx, dword [ebp - 8]
cmp edx, eax
jae 0x424d32
mov edi, ecx
mov ebx, ecx
cmp edx, 0xef2
lea ecx, [edi - 0x1d54947a]
cmovne ecx, ebx
and ecx, 0xd91825d7
inc edx
mov edi, ecx
mov ebx, ecx
cmp edx, eax
jb 0x424d0f
mov ebx, dword [ebp - 4]
xor edi, edi
lea eax, [ecx - 0x27cb0f8c]
test bx, bx
je 0x424d4b
lea esi, [esi + 2]
imul eax, eax, 0x8e5c0c52
cmp word [esi], di
jne 0x424d3d
mov esi, edi
xor eax, 0xf2db7c66
inc esi
cmp word [esi*2 + str.SearchProtocol], di
jne 0x424d4d
mov ecx, dword [ebp - 8]
mov dword [0x435ab8], eax
cmp ecx, esi
jae 0x424d8e
mov edx, eax
cmp ecx, 0x1e4c
jne 0x424d7b
mov edx, eax
or edx, 0xc5c55a24
mov eax, edx
xor eax, 0xb1d2142d
inc ecx
mov edx, eax
cmp ecx, esi
jb 0x424d6b
mov dword [0x435ab8], eax
pop edi
pop esi
pop ebx
leave
ret