Function at 0x4209b3
Capabilities:
Decrypt data using tea
Encode data using xor

Disassembly:
movzx ecx, byte [0x42bbee]
sub esp, 0x3c
mov eax, 0x6696
imul ecx, eax
mov eax, 0xb6b6
add word [0x42bc0c], ax
push ebx
push ebp
push esi
push edi
mov word [0x42bbe8], cx
call fcn.004207ab
mov ecx, eax
call fcn.00422800
mov ecx, 0x5ac
add cx, word [0x42bbe8]
mov word [0x42bc0c], cx
test eax, eax
jne 0x420a3b
mov cl, byte [0x42bbee]
mov edx, 0x4926
add cl, 0x68
movzx eax, cl
sub cl, 0x27
and ax, dx
mov edx, 0x1be1
mov word [0x42bc0c], ax
movzx eax, cl
add ax, dx
sub cl, 0x34
mov word [0x42bbe8], ax
mov byte [0x42bbee], cl
jmp 0x420f83
movzx eax, byte [0x42bbee]
mov ecx, 0xca1
xor ax, cx
mov ecx, 0x500
sub ax, cx
mov word [0x42bbe8], ax
xor al, 0x45
push 0x400
mov byte [0x42bbee], al
call fcn.0040570b
pop ecx
mov cl, byte [0x42bbe8]
mov esi, eax
sub cl, 0x42
mov dword [esp + 0x3c], esi
movzx ebx, cl
mov eax, 0x24f1
sub bx, ax
mov byte [0x42bbee], cl
mov word [0x42bbe8], bx
test esi, esi
je 0x420f83
mov edx, dword [0x42bbf4]
lea edi, [esi + 2]
mov eax, 0x428eb2
mov word [esp + 0x14], 0x7c
or edx, 0x214d5937
mov dword [esp + 0x20], 0x428eb0
sub eax, esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x30], eax
mov eax, dword [0x42bbe0]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x2c], 3
mov edi, dword [esi + edi]
or dl, 0xbb
add dl, 0x1c
mov dword [esp + 0x1c], edi
or eax, 0xfa1f
xor dl, 0x49
movzx ecx, ax
mov ebp, 0xc6ef3720
sub ecx, 0x2a818e52
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x20]
sub al, 0x25
mov dword [esp + 0x24], ecx
mov dword [0x42bbe0], ecx
mov ecx, 0x80ca
movzx eax, al
mov edx, dword [edx]
xor ax, cx
push 0x20
mov word [esp + 0x1e], ax
mov word [0x42bbe4], ax
pop esi
mov ecx, edx
lea eax, [edx + 0x3c585b4]
shr ecx, 5
shl eax, 4
sub ecx, 0x493a6f48
xor ecx, eax
lea eax, [edx + ebp]
xor ecx, eax
mov eax, dword [esp + 0x1c]
sub eax, ecx
mov ecx, eax
mov dword [esp + 0x1c], eax
shl ecx, 4
shr eax, 5
sub ecx, 0x5386e733
add eax, 0x524ef4d0
xor ecx, eax
mov eax, dword [esp + 0x1c]
add eax, ebp
add ebp, 0x61c88647
xor ecx, eax
sub edx, ecx
sub esi, 1
jne 0x420b29
mov edi, dword [esp + 0x28]
mov al, byte [esp + 0x24]
movzx ecx, word [esp + 0x1a]
xor al, 0xcd
mov byte [0x42bbde], al
xor cl, 0xf0
mov al, byte [esp + 0x24]
or al, 0x7c
mov byte [0x42bbf2], cl
mov byte [0x42bc08], al
mov eax, 0x7784
mov byte [edi - 2], dl
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x34]
movzx ecx, dl
mov edx, dword [esp + 0x38]
sub cx, ax
mov eax, 0x4433
add dword [esp + 0x20], 8
xor cx, ax
mov esi, dword [esp + 0x30]
mov eax, edx
shr eax, 8
mov byte [edi - 1], al
mov eax, edx
shr eax, 0x10
mov byte [edi], al
mov eax, dword [esp + 0x1c]
mov byte [edi + 2], al
shr eax, 8
mov byte [edi + 3], al
mov eax, 0x20a0
shr edx, 0x18
mov byte [edi + 1], dl
movzx edx, cx
and cx, ax
movzx ecx, cx
mov eax, 0xcc54
imul ecx, eax
add edx, 0x2067dfd7
xor edx, 0xa199289
mov dword [0x42bbfc], edx
mov word [0x42bc00], cx
mov ecx, dword [esp + 0x1c]
mov eax, ecx
shr eax, 0x10
mov byte [edi + 4], al
mov eax, edx
shr ecx, 0x18
and eax, 0xc4ac1812
mov byte [edi + 5], cl
add edi, 8
sub dword [esp + 0x2c], 1
mov dword [0x42bbf4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], edi
jne 0x420ad7
mov esi, dword [esp + 0x3c]
sub bl, 0x53
and dword [esp + 0x30], 0
mov ecx, 0x5f59
movzx eax, bl
xor dl, 0x23
xor ax, cx
mov byte [0x42bbf9], dl
mov word [0x42bc0c], ax
mov eax, 0xfa7b
mov word [0x42bbe8], ax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x18]
mov byte [esi + 0x18], 0
push eax
push esi
mov byte [0x42bbee], bl
call fcn.00405d9c
movzx ecx, word [0x42bc0c]
mov edi, eax
mov eax, 0x5048
add esp, 0xc
and cx, ax
or ecx, 0x33
lea edx, [ecx + 0x2a16]
test edi, edi
je 0x420f5f
mov al, dl
mov ecx, 0xab94
or al, 0x56
mov byte [0x42bbee], al
mov ax, dx
or ax, cx
lea edx, [esp + 0x40]
mov word [0x42bbe8], ax
mov ecx, edi
add eax, 0x3621
mov word [0x42bc0c], ax
call fcn.0041d24d
test al, al
je 0x420f0a
mov al, byte [0x42bc0c]
mov ecx, 0x4fde
or al, 0x8a
movzx eax, al
sub ax, cx
mov word [0x42bc0c], ax
and al, 0xbd
mov byte [0x42bbee], al
call fcn.00421192
mov al, byte [0x42bc0c]
lea ecx, [esp + 0x40]
and al, 0x1e
mov byte [0x42bbee], al
mov eax, 0xaa89
xor word [0x42bbe8], ax
call fcn.0040fca0
mov dx, word [0x42bbe8]
mov ecx, 0x32e0
movzx eax, dx
xor dl, 0x10
imul eax, ecx
lea ecx, [esp + 0x40]
mov byte [0x42bbee], dl
mov word [0x42bc0c], ax
call fcn.00417d46
movzx ecx, byte [0x42bbee]
mov eax, 0xa868
imul ecx, eax
mov word [0x42bbe8], cx
call fcn.0041f727
mov al, byte [0x42bbee]
mov ecx, 0x48d2
movzx edx, al
add al, 3
sub dx, cx
cmp byte [esp + 0x48], 0
movzx ecx, dx
mov word [0x42bc0c], dx
je 0x420dd0
sub cl, 0x1b
movzx eax, cl
mov byte [0x42bbee], cl
mov ecx, 0xe876
xor ax, cx
mov word [0x42bbe8], ax
call fcn.004175cd
mov al, byte [0x42bbee]
mov dx, word [0x42bc0c]
movzx ecx, dx
mov edi, 0x2c70
xor cx, di
imul ebx, ecx, 0xe45b
cmp byte [esp + 0x49], 0
movzx edx, bx
mov word [0x42bc0c], bx
je 0x420e19
xor edx, 0x27f5
xor al, 0x67
mov word [0x42bbe8], dx
mov byte [0x42bbee], al
call fcn.00416de7
mov cx, word [0x42bbe8]
mov bx, word [0x42bc0c]
mov eax, 0x3576
movzx ecx, cx
imul ecx, eax
lea edx, [ebx - 5]
mov eax, 0x7da4
sub cx, ax
cmp byte [esp + 0x47], 0
mov word [0x42bbe8], cx
je 0x420e6a
movzx eax, dl
mov ecx, 0xf09
add ax, cx
or dl, 0x20
mov word [0x42bc0c], ax
mov byte [0x42bbee], dl
call fcn.0041ebcc
mov cx, word [0x42bbe8]
mov bx, word [0x42bc0c]
mov eax, 0x5b3c
and cl, 0x4a
xor ax, bx
mov byte [0x42bbee], cl
mov word [0x42bbe8], ax
call fcn.0041bf5d
mov ax, word [0x42bc0c]
mov ecx, 0x6f1
xor byte [0x42bbee], 0xd9
sub ax, cx
mov word [0x42bbe8], ax
call fcn.00415f6b
mov al, byte [0x42bbe8]
xor al, 0x84
push 5
pop ecx
mov byte [0x42bbee], al
call fcn.0041e996
mov cx, word [0x42bc0c]
mov eax, 0xb1dd
or ax, cx
or cl, 0xe3
xor cl, 0x5e
mov word [0x42bbe8], ax
mov byte [0x42bbee], cl
call fcn.0041b51a
mov ax, word [0x42bbe8]
mov ecx, 0xea47
add ax, cx
mov word [0x42bbe8], ax
and al, 0x49
or al, 0x20
mov byte [0x42bbee], al
call fcn.0041b1dc
mov cl, byte [0x42bbee]
jmp 0x420f21
mov cl, byte [0x42bbee]
mov edx, 0x25a9
movzx eax, cl
add ax, dx
mov word [0x42bc0c], ax
movzx eax, cl
mov ecx, 0x1b9c
add ax, cx
mov word [0x42bbe8], ax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x18]
push eax
push 0
call fcn.00405d9c
mov edi, eax
add esp, 0xc
test edi, edi
je 0x420f58
mov dx, word [0x42bc0c]
jmp 0x420cc0
mov cx, word [0x42bbe8]
mov eax, 0x4baf
add ax, cx
mov word [0x42bc0c], ax
mov eax, 0x77ee
add cx, ax
push esi
mov word [0x42bbe8], cx
call fcn.004056f0
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret