Function at 0x384c0d40
Capabilities:
Encode data using xor

Disassembly:
mov al, byte [edi + esi + 0x51]
sub al, 0x30
cmp al, 9
ja 0x384c0fc3
mov byte [ebp - 0x1f5], al
lea eax, [ebp - 0xbc]
push 0xd
push eax
lea eax, [ebp - 0x88]
push eax
push edi
call 0x38063f20
push 0xd
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0xbc]
push eax
push edi
call 0x38064050
push 1
lea eax, [ebp - 0x1f5]
push eax
push 0xd
lea eax, [ebp - 0xf0]
push eax
push edi
call 0x38063e60
push 0xd
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x88]
push eax
push edi
call 0x38063f20
add esp, 0x48
lea eax, [ebp - 0xf0]
push 0xd
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0xbc]
push eax
push edi
call 0x38063fb0
inc esi
add esp, 0x14
cmp esi, ebx
jb 0x384c0cf0
push 0x21
push 0x7a4802c
push 0xd
lea eax, [ebp - 0x124]
push eax
push edi
call 0x38063e60
push 0x21
push 0x7a48050
push 0xd
lea eax, [ebp - 0x158]
push eax
push edi
call 0x38063e60
push 0xd
lea eax, [ebp - 0x124]
push eax
push edi
call 0x38064b70
mov esi, eax
lea eax, [ebp - 0x158]
push 0xd
push eax
push edi
call 0x38064b70
add esp, 0x40
lea ecx, [ebp - 0x124]
push esi
push ecx
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x1f4]
push eax
push edi
call 0x38064660
push esi
lea eax, [ebp - 0x1f4]
push eax
lea eax, [ebp - 0x88]
push eax
push edi
call 0x38063f20
lea eax, [ebp - 5]
add esp, 0x2c
xor ebx, ebx
mov dword [ebp - 0x1fc], eax
push esi
lea eax, [ebp - 0x18c]
push eax
push esi
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x1c0]
push eax
push edi
call 0x38064190
push esi
lea eax, [ebp - 0xf0]
push eax
push 1
lea eax, [ebp - 0x1f5]
push eax
push edi
call 0x38063ed0
mov al, byte [ebp - 0x1f5]
mov ecx, dword [ebp - 0x1fc]
add al, 0x30
push esi
mov byte [ecx], al
lea eax, [ebp - 0x1c0]
push eax
push edi
call 0x38064b00
add esp, 0x3c
test eax, eax
jne 0x384c0eaf
push esi
lea eax, [ebp - 0x1c0]
push eax
lea eax, [ebp - 0x88]
push eax
push edi
call 0x38063f20
dec dword [ebp - 0x1fc]
inc ebx
add esp, 0x10
cmp ebx, 0x50
jb 0x384c0e27
lea eax, [ebx + 1]
mov dword [ebp - 0x1fc], 0
mov ebx, dword [edi + 0xdc14]
lea edx, [eax + eax*2]
mov dword [ebp - 0x208], eax
add edx, edx
mov eax, dword [ebp - 0x200]
add eax, 0x51
mov dword [ebp - 0x214], edx
mov ecx, eax
mov dword [ebp - 0x218], eax
sub ebx, ecx
mov dword [ebp - 0x204], ecx
mov dword [ebp - 0x200], ebx
je 0x384c0fa1
lea eax, [edi + 0x1400]
mov dword [ebp - 0x20c], eax
mov esi, edx
cmp ebx, edx
ja 0x384c0f0c
mov esi, ebx
push esi
push eax
push ecx
push edi
call 0x37e827f0
add esp, 0x10
cmp eax, esi
jne 0x384c0fc3
xor ecx, ecx
test esi, esi
je 0x384c0f52
mov edi, dword [ebp - 0x208]
mov ebx, dword [ebp - 0x20c]
xor edx, edx
mov eax, ecx
div edi
sub edx, edi
mov al, byte [ebp + edx - 4]
xor byte [ebx + ecx], al
inc ecx
cmp ecx, esi
jb 0x384c0f32
mov edi, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x200]
push esi
lea eax, [edi + 0x1400]
push eax
push dword [ebp - 0x1fc]
push edi
call 0x37e82820
add esp, 0x10
cmp eax, esi
jne 0x384c0fc3
mov ecx, dword [ebp - 0x204]
lea eax, [edi + 0x1400]
add dword [ebp - 0x1fc], esi
add ecx, esi
mov edx, dword [ebp - 0x214]
sub ebx, esi
mov dword [ebp - 0x204], ecx
mov dword [ebp - 0x200], ebx
jne 0x384c0f04
mov eax, dword [ebp - 0x218]
push eax
push 0
push edi
call 0x37e82c70
add esp, 0xc
mov eax, 3
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call 0x37ad9614
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, 0xc
pop edi
pop esi
xor ecx, ebp
pop ebx
call 0x37ad9614
mov esp, ebp
pop ebp
ret