Function at 0x430f80
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x4c
mov eax, dword [0x4bacc0]
xor eax, esp
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x54]
push ebx
push ebp
mov ebp, dword [esp + 0x60]
push esi
push edi
mov edi, dword [eax]
mov dword [0x4c0a50], edi
mov ecx, dword [eax + 4]
mov dword [0x4c0a54], ecx
mov ecx, dword [eax + 8]
mov dword [0x4c0a58], ecx
mov edx, dword [eax + 0xc]
xor eax, eax
mov dword [0x4c0a5c], edx
xor esi, esi
movzx edx, byte [esi + 0x4c0a50]
mov ebx, eax
shr ebx, 8
xor edx, ebx
xor ebx, ebx
mov bh, al
and edx, 0xff
add esi, 2
xor bx, word [edx*2 + 0x4b9420]
movzx eax, bx
movzx ebx, byte [esi + 0x4c0a4f]
mov edx, eax
shr edx, 8
xor edx, ebx
xor ebx, ebx
mov bh, al
and edx, 0xff
xor bx, word [edx*2 + 0x4b9420]
cmp esi, 0xe
movzx eax, bx
jl 0x430fc1
cmp word [0x4c0a5e], ax
jne 0x4311e9
xor eax, eax
mov esi, 2
movzx edx, byte [esi + 0x4c0a50]
mov ebx, eax
shr ebx, 8
xor edx, ebx
xor ebx, ebx
mov bh, al
and edx, 0xff
add esi, 6
xor bx, word [edx*2 + 0x4b9420]
movzx eax, bx
movzx ebx, byte [esi + 0x4c0a4b]
mov edx, eax
shr edx, 8
xor edx, ebx
xor ebx, ebx
mov bh, al
and edx, 0xff
xor bx, word [edx*2 + 0x4b9420]
movzx edx, byte [esi + 0x4c0a4c]
movzx eax, bx
mov ebx, eax
shr ebx, 8
xor edx, ebx
xor ebx, ebx
mov bh, al
and edx, 0xff
xor bx, word [edx*2 + 0x4b9420]
movzx edx, byte [esi + 0x4c0a4d]
movzx eax, bx
mov ebx, eax
shr ebx, 8
xor edx, ebx
xor ebx, ebx
mov bh, al
and edx, 0xff
xor bx, word [edx*2 + 0x4b9420]
movzx edx, byte [esi + 0x4c0a4e]
movzx eax, bx
mov ebx, eax
shr ebx, 8
xor edx, ebx
xor ebx, ebx
mov bh, al
and edx, 0xff
xor bx, word [edx*2 + 0x4b9420]
movzx edx, byte [esi + 0x4c0a4f]
movzx eax, bx
mov ebx, eax
shr ebx, 8
xor edx, ebx
xor ebx, ebx
mov bh, al
and edx, 0xff
xor bx, word [edx*2 + 0x4b9420]
cmp esi, 0xe
movzx eax, bx
jl 0x431023
cmp di, ax
jne 0x4311e9
xor al, al
test ch, ch
mov ebx, 1
jns 0x431117
mov al, bl
add al, al
test cl, 0x40
je 0x431120
or al, bl
add al, al
test byte [0x4c0a57], 0x20
je 0x43112d
or al, bl
add al, al
test byte [0x4c0a56], 0x10
je 0x43113a
or al, bl
mov ecx, dword [0x4c0a54]
add al, al
test ch, 8
je 0x431149
or al, bl
add al, al
test cl, 4
je 0x431152
or al, bl
add al, al
test byte [0x4c0a53], 2
je 0x43115f
or al, bl
add al, al
test byte [0x4c0a52], bl
je 0x43116b
or al, bl
mov cl, al
and cl, 0xf
cmp cl, 0xd
je 0x431212
movzx edi, al
mov esi, edi
lea edx, [esp + 0x18]
shr esi, 4
push edx
add esi, 0x7d3
call fcn.0042cab0
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x24]
push str._04d__02d
push edx
call fcn.0048108c
mov eax, dword [esp + 0x28]
add esp, 0x14
cmp eax, esi
jg 0x4311c0
jne 0x431212
and edi, 0xf
cmp dword [esp + 0x10], edi
jle 0x431212
push 0x3e8
mov esi, 0x5c
call fcn.0042c960
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x48]
xor ecx, esp
call fcn.004810ab
add esp, 0x4c
ret 0x14
push 0x3e8
mov esi, 0x5b
call fcn.0042c960
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x48]
xor ecx, esp
call fcn.004810ab
add esp, 0x4c
ret 0x14
push 0x4c0a50
call fcn.0042d1d0
add esp, 4
cmp dword [0x4bd450], 0
je 0x431242
pop edi
pop esi
pop ebp
mov eax, 0x17
pop ebx
mov ecx, dword [esp + 0x48]
xor ecx, esp
call fcn.004810ab
add esp, 0x4c
ret 0x14
mov eax, dword [esp + 0x60]
push eax
call fcn.0042d280
mov edi, eax
add esp, 4
test edi, edi
jne 0x4312e0
push 0x200
push eax
push 0x4cae80
call fcn.00481440
add esp, 0xc
xor esi, esi
mov edi, edi
push 0x18
call fcn.0042b950
add esp, 4
test eax, eax
mov dword [esi*4 + 0x4cae00], eax
je 0x4312f7
or ecx, 0xffffffff
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
add esi, ebx
cmp esi, 0x18
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
jl 0x431270
push 0xa380
push 0
push 0x4c0a60
call fcn.00481440
add esp, 0xc
test ebp, ebp
je 0x4312cc
mov eax, str.2.1.358
mov edx, ebp
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, ebx
test cl, cl
jne 0x4312c1
cmp dword [0x4af538], 0xffffffff
jne 0x4312da
call fcn.00455800
mov dword [0x4bd450], ebx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x48]
xor ecx, esp
call fcn.004810ab
add esp, 0x4c
ret 0x14
xor edi, edi
test esi, esi
jle 0x431316
lea ecx, [ecx]
mov ecx, dword [edi*4 + 0x4cae00]
push ecx
call fcn.0042b970
add edi, ebx
add esp, 4
cmp edi, esi
jl 0x431300
mov ecx, dword [esp + 0x58]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
mov eax, 0x19
call fcn.004810ab
add esp, 0x4c
ret 0x14