Function at 0x437220
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov dword [esp + 4], 0xf3f2f1c8
mov word [esp + 8], 0
mov byte [esp + 0xa], 0
mov eax, 0xe8e3a4ac
mov ecx, 0x171c5b53
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x171c5b58]
mov edi, ecx
and edi, 0x1210505c
mov esi, eax
and esi, 0x48830423
or esi, edi
xor esi, edx
xor esi, 0x3270f0dc
or esi, ecx
not esi
add esi, esi
lea edi, [ecx - 0x171c5b00]
and edi, esi
mov ebx, esi
xor ebx, eax
add edi, edi
sub ebx, edi
add bl, dl
add bl, 0xa4
mov byte [esp + eax + 0x171c5b58], bl
inc eax
dec ecx
cmp eax, 0xe8e3a4b3
jne 0x437250
mov ecx, dword [esp + 4]
mov dword [esp + 0xc], 0xd8dbdac5
xor eax, eax
xor edx, edx
nop
nop
nop
movzx esi, byte [esp + edx + 0xc]
mov edi, edx
xor edi, 0x7ea16831
mov ebx, eax
and ebx, 4
sub ebx, edi
mov edi, ebx
and edi, esi
add ebx, esi
add edi, edi
sub ebx, edi
add bl, 0xf5
mov byte [esp + edx + 0xc], bl
inc edx
add eax, 2
cmp edx, 4
jne 0x4372b0
mov eax, dword [esp + 0xc]
mov edx, dword [0x44c3b8]
test edx, edx
je 0x437331
xor esi, esi
mov edi, dword [0x44c3bc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7ce2a696
je 0x437310
inc esi
cmp edx, esi
jne 0x437300
jmp 0x437331
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x437331
lea eax, [esp + 0xc]
push eax
push ecx
push 0xffffffffffffffff
push 3
push edx
push dword [0x44c3c0]
call fcn.0043ce20
add esp, 0x18
xor ebx, ebx
test eax, eax
js 0x43744e
mov ecx, dword [esp + 0xc]
mov dword [esp + 4], 0xd8dbdac5
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 4]
mov edi, eax
xor edi, 0x7ea16831
mov edx, ebx
and edx, 4
sub edx, edi
mov edi, edx
and edi, esi
add edx, esi
add edi, edi
sub edx, edi
add dl, 0xf5
mov byte [esp + eax + 4], dl
inc eax
add ebx, 2
cmp eax, 4
jne 0x437350
mov eax, dword [esp + 4]
mov edx, dword [0x44c3b8]
test edx, edx
je 0x4373bc
xor esi, esi
mov edi, dword [0x44c3bc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb1b3ec83
je 0x4373b0
inc esi
cmp edx, esi
jne 0x4373a0
jmp 0x4373bc
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
jne 0x437458
mov dword [esp + 4], 0xd8dbdac5
xor edx, edx
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + esi + 4]
mov ebp, esi
xor ebp, 0x7ea16831
mov ebx, edx
and ebx, 4
sub ebx, ebp
mov ebp, ebx
and ebp, edi
add ebx, edi
add ebp, ebp
sub ebx, ebp
add bl, 0xf5
mov byte [esp + esi + 4], bl
inc esi
add edx, 2
cmp esi, 4
jne 0x4373d0
test eax, eax
setns bl
mov eax, dword [0x44c3b8]
test eax, eax
je 0x43744a
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x44c3bc]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x437430
inc esi
cmp eax, esi
jne 0x437420
jmp 0x43744a
mov eax, dword [edi + esi*8 + 4]
cmp eax, edx
je 0x43744a
push ecx
push 1
push eax
push dword [0x44c3c0]
call fcn.0043ce20
add esp, 0x10
and bl, byte [esp + 3]
mov eax, ebx
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 4]
lea esi, [esp + 0x10]
push eax
push 4
push esi
push 0x14
push ecx
push 5
push edx
push dword [0x44c3c0]
call fcn.0043ce20
add esp, 0x20
mov ecx, dword [esp + 0xc]
cmp dword [esp + 0x10], 0
setne byte [esp + 3]
jmp 0x4373bc