Function at 0x406206
Capabilities:
Encode data using xor

Disassembly:
cmp byte [ebp - 0xc], 0
je 0x4061c6
mov eax, dword [ebp - 0x18]
xor edx, edx
jmp 0x4061d9
adc ecx, dword [edi]
mov edi, 0x453bc045
call 0x45cb6550
call 0xc09620e5
movsx eax, word [ebp - 0x40]
cmp eax, dword [ebp - 0x18]
jg 0x4061d2
mov eax, dword [ebp - 0x18]
movsx edx, word [ebp - 0x40]
sub edx, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], edx
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 4]
lea ebx, [ebp - 0x3d]
cmp byte [ebp - 0x3e], 0
je 0x4061f6
cmp esi, dword [ebp + 8]
jne 0x4061f6
mov al, 0x2d
stosb byte es:[edi], al
lodsb al, byte [esi]
cmp al, 0x23
je 0x406222
cmp al, 0x30
je 0x406222
cmp al, 0x2e
je 0x4061f6
cmp al, 0x2c
je 0x4061c5
imul ecx, esp, 0x88b93474
mov esp, 0xf1312ebb
push 0x418598a0
mov ebx, 0x346a8792
pop esi
xor ebx, esi
xor ebx, ecx
push 0x1b94745a
mov edx, 0x54f4f8cb
pop edx
je fcn.004061b9
sbb edi, dword [edx + 0x54f4f8cb]
pop esi
xor edx, esi
mov esi, 0x3ca561ab
mov ecx, 0x1ca55381
xor ecx, esi
xor edx, ecx
xor edx, ebx
push 0x505fb627
mov esi, 0x505fb627
pop edi
xor esi, edi
xor esi, edx
mov edi, 0x467e8f8c
mov ecx, 0x467e8f8d
xor ecx, edi
sub esi, ecx
mov eax, dword [esi + 1]
mov edi, 0x642191a
mov ebx, 0x28080400
xor edi, ebx
mov ecx, 0x19d5533
xor edi, ecx
xor edi, 0x814480f
mov ecx, 0x704e50bb
xor ecx, 0x6c3c3f3d
xor edi, ecx
mov edx, edi
xor edx, 0xffffffff
and edx, 0x3bb16fa0
and edi, 0xc44e905f
or edi, edx
mov esi, edi
mov ebx, esi
mov ecx, 4
sub esp, ecx
mov dword [esp], ebx
mov edi, 0
mov ebx, 0
xor edi, ebx
xor edi, esp
push edi
pop ebx
mov esi, 0xfffffffc
add esp, esi
mov dword [esp], ebx
push 0x169a696e
mov edx, 0x40d0235b
pop esi
xor edx, esi
mov edi, 0x1e6f1207
xor edx, edi
mov esi, edx
push esi
mov esi, 0x2000708a
mov edi, 0x4c680970
xor esi, edi
push esi
push 0x1058a22b
mov ecx, 0x341583a3
pop esi
xor ecx, esi
pop edx
xor ecx, edx
pop ebx
xor ecx, ebx
mov esi, 0xfffffffc
add esp, esi
mov esi, esp
mov edx, esi
mov dword [edx], ecx
mov ebx, 0x47a00001
mov ecx, 0x204904e4
xor ebx, ecx
mov edx, 0x6f57aa3a
xor edx, 0x3c2423d
xor edx, ebx
mov ebx, edx
mov esi, ebx
mov ebx, 0xffffffff
xor esi, ebx
and esi, 0xb7c72e2
and edx, 0xf4838d1d
or edx, esi
mov esi, 0
xor esi, edx
mov ebx, 0xfffffffc
add esp, ebx
mov dword [esp], esi
mov edx, 0x674b4952
xor edx, 0x45c8487b
mov ebx, 0x618b4996
xor edx, ebx
xor edx, 0x29e76796
push 0x7ed8ad42
mov esi, 0x1477926b
pop ecx
xor esi, ecx
xor edx, esi
push edx
pop edi
mov esi, 0xfffffffc
add esp, esi
mov dword [esp], edi
call eax
pop esi
push 0x654d1a82
mov edi, 0x69a22fd9
pop eax
xor edi, eax
push edi
push 0x3e22092c
mov esi, 0x52a108bf
pop edi
xor esi, edi
pop edx
xor esi, edx
mov edi, esi
add esp, 0xfffffffc
mov dword [esp], edi
mov edx, 0x75ae007b
xor edx, 0xf79951b
push 0x3f73c016
mov ebx, 0x25c8629b
pop eax
xor ebx, eax
xor ebx, edx
pop ecx
xor ebx, ecx
push 0x3c108dfa
mov ecx, 0xd3c969e
pop edx
xor ecx, edx
push ecx
mov edi, 0x2f99df73
mov eax, 0x2415b1eb
xor eax, edi
pop esi
xor eax, esi
mov edi, 0
xor edi, eax
mov ecx, edi
xor ecx, 0xffffffff
and ecx, 0xffffffff
and edi, 0
or edi, ecx
and edi, 0x3ae0156e
and eax, 0xc51fea91
or eax, edi
mov edi, 0x3cf0806b
xor edi, 0xc5004c6
push edi
mov edi, 0x28561acb
mov edx, 0x18f61236
xor edx, edi
pop esi
xor edx, esi
push 0x6869d847
mov ecx, 0x6869d847
pop edi
xor ecx, edi
mov edi, 0x19dd2775
mov esi, 0x199d27f7
xor esi, edi
xor ecx, esi
xor edx, ecx
mov edi, ebx
push edi
pop esi
push 0x92c923e3
mov ecx, 0x6d36dc1f
pop edi
xor ecx, edi
add esp, ecx
mov dword [esp], esi
mov esi, 0x60bc085b
mov edi, 0x9f43f7a7
xor edi, esi
add esp, edi
mov ecx, 0
mov esi, 0
xor ecx, esi
xor ecx, esp
mov dword [ecx], edx
xor ebx, ebx
mov bl, byte [eax]
add edx, ebx
mov bl, byte [edx]
mov esi, 0x65c78a65
xor esi, 0x65c78a65
mov ecx, 0
mov edi, 0
xor ecx, edi
xor esi, ecx
xor esi, edx
add esi, 0
pop edx
mov byte [eax], bl
push 0x79ea0d88
mov ecx, 0x2097b5e9
pop esi
xor ecx, esi
mov edi, 0x49588800
mov esi, 0x10253060
xor edi, esi
xor edi, ecx
sub eax, edi
pop ebx
dec ebx
xor edi, edi
add edi, ebx
or edi, ebx
jne 0x406442
mov esi, 0x66a1dc4c
xor esi, 0x6a166195
mov eax, 0x78e99f1f
xor esi, eax
xor esi, 0x1f5923a8
mov edi, 0x56eee90c
xor edi, 0xb30c059
push edi
mov edi, 0x1fc0b3a6
mov edx, 0x2959c6f3
xor edx, edi
pop ebx
xor edx, ebx
xor edx, esi
call edx
pop edx
pop edx
ret