Function at 0x434b40
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x60
mov dword [esp + 0x18], 0x7bad7941
mov dword [esp + 0x1c], 0x7f897df1
mov dword [esp + 0x20], 0x7397718a
mov dword [esp + 0x24], 0x77b0758d
mov dword [esp + 0x28], 0xbf30984
mov dword [esp + 0x2c], 0xfeb0dfc
mov dword [esp + 0x30], 0x3000129
lea edx, [esp + 0x34]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov word [esp + 0x3c], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x25
ja 0x434bfa
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x18]
lea esi, [eax + ecx]
add esi, 0xd2ae76af
add eax, 0xd2ae76af
and eax, ecx
add eax, eax
mov ecx, eax
xor ecx, esi
not eax
and eax, esi
add eax, eax
sub eax, ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
add al, 0x37
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x26
jb case.default.0x434c36
lea eax, [esp + 0x40]
lea ebx, [esp + 0x18]
mov esi, ebx
mov ecx, 7
mov edi, eax
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0x5c]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
lea ecx, [esp + 8]
push ecx
push 8
push ebx
push 0xd
push eax
push 0
call dword [0x4498e4]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4470e8]
mov dword [esp + 0x18], 0x3a0043
mov esi, dword [ebp + 8]
mov dword [esp + 0x1c], 0x5c
mov dword [esp + 4], 0
push 0x8111c430
push dword [0x4498dc]
call fcn.0043bfb0
add esp, 8
mov ecx, eax
lea eax, [esp + 4]
push 0
push 0
push 0
push 0
push eax
push 0
push 0
push ebx
call ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4470f0]
xor eax, eax
mov edx, dword [case.0x434c36.7]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp edx
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x447108]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x447110]
mov ecx, dword [esp + eax*4 + 4]
jmp case.0x434c36.14
mov ecx, dword [esp + 4]
mov edx, dword [case.0x434c36.14]
nop
jmp edx
imul edx, ecx, 0x1a5845
lea ecx, [esi + 8]
add edx, 0xebde8a13
mov dword [esp + eax*4 + 8], edx
mov byte [esi + 8], 0
je 0x434d31
cmp edx, 0x100
jb 0x434d3a
mov esi, ecx
mov edi, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, dl
movzx ebx, word [ebx + ebx + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
mov word [esi - 2], bx
add esi, 0xfffffffe
shr edi, 8
cmp edx, 0xffff
mov edx, edi
ja 0x434d00
cmp edi, 0xf
ja 0x434d43
movzx edx, byte [edi + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [esi - 1], dl
dec esi
jmp 0x434d52
mov byte [esi + 7], 0x30
add esi, 7
jmp 0x434d52
mov edi, edx
mov esi, ecx
cmp edi, 0xf
jbe 0x434d24
movzx edx, word [edi + edi + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
mov word [esi - 2], dx
add esi, 0xfffffffe
mov edx, 0xfffffffe
mov edi, 0xffffffff
nop
nop
nop
nop
add edx, 2
cmp byte [esi + edi + 1], 0
lea edi, [edi + 1]
jne case.default.0x434d7e
xor edi, 0xfffffff7
or edx, 0xffffffef
sub edx, edi
xor edi, edi
xor ebx, ebx
cmp edx, edi
setne bl
jmp dword [ebx*4 + 0x447128]
mov byte [esi + edi - 1], 0x30
dec edi
xor ebx, ebx
cmp edx, edi
setne bl
jmp dword [ebx*4 + 0x447128]
inc eax
mov edx, dword [case.0x434c36.7]
mov esi, ecx
jmp case.0x434c36.4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
jmp 0x4351ce
mov edi, dword [ebp + 0x10]
jmp dword [0x44713c]
push 0x400
call fcn.00438880
add esp, 4
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0x12111017
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov word [esp + 0x1c], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0xd
ja 0x434e92
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x10]
lea esi, [ecx + edx]
add esi, 0x90567983
add ecx, 0x90567983
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0x2c], esi
mov ecx, dword [esp + 0x2c]
add cl, 0x6b
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0xe
jb 0x434e50
mov edx, dword [0x4498e8]
test edx, edx
je case.0x434c36.21
mov esi, dword [esp + 0x10]
xor ebx, ebx
mov ecx, dword [0x4498ec]
nop
nop
nop
nop
cmp dword [ecx + ebx*8], 0x47995699
je 0x434ec0
inc ebx
cmp edx, ebx
jne 0x434eb0
jmp case.0x434c36.21
mov ecx, dword [ecx + ebx*8 + 4]
cmp ecx, esi
je case.0x434c36.21
lea edx, [esp + 0x2c]
push 0x2f
push 0x400
push eax
push edx
push dword [esp + 0x1c]
push 5
push dword [0x4498f0]
push ecx
call fcn.0043a390
add esp, 0x20
jmp case.0x434c36.21
lea eax, [esp + 0x2c]
push 0x2f
push 0x400
push dword [esp + 0x14]
push eax
push ecx
push 5
push dword [0x4498f0]
push edx
call fcn.0043a390
add esp, 0x20
jmp dword [0x447140]
mov esi, edi
push 0x400
call fcn.00438880
add esp, 4
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], 0x12111017
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov word [esp + 0x1c], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0xd
ja 0x434fb0
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x10]
lea edi, [eax + edx]
add edi, 0x90567983
add eax, 0x90567983
and eax, edx
add eax, eax
sub edi, eax
mov dword [esp + 8], edi
mov eax, dword [esp + 8]
add al, 0x6b
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x10], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0xe
jb 0x434f70
mov eax, dword [esp + 0x10]
mov edx, dword [0x4498e8]
test edx, edx
je 0x434fde
xor ebx, ebx
mov edi, dword [0x4498ec]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + ebx*8], 0x47995699
je 0x434ff0
inc ebx
cmp edx, ebx
jne 0x434fd0
mov edi, esi
jmp dword [0x447140]
mov edx, dword [edi + ebx*8 + 4]
cmp edx, eax
mov edi, esi
jne 0x434eec
jmp 0x434fe0
not eax
shr eax, 0x1f
mov dword [esp + 0x24], 0
mov esi, dword [ebp + 0xc]
jmp dword [eax*4 + 0x447148]
push dword [esp + 0xc]
call fcn.00438940
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], 0x12111017
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov word [esp + 0x1c], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0xd
ja 0x4350a2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x10]
lea esi, [ecx + edx]
add esi, 0x90567983
add ecx, 0x90567983
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 8], esi
mov ecx, dword [esp + 8]
add cl, 0x6b
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0xe
jb 0x435060
mov ecx, dword [0x4498e8]
test ecx, ecx
je 0x4351ca
mov edx, dword [esp + 0x10]
xor esi, esi
mov edi, dword [0x4498ec]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xad91fd63
je 0x4351b0
inc esi
cmp ecx, esi
jne 0x4350c0
jmp 0x4351ca
xor eax, eax
mov ecx, dword [esp + 0xc]
xor edx, edx
mov dword [esp + 0x24], 0
cmp edx, dword [ecx]
setb al
xor ebx, ebx
jmp dword [eax*4 + 0x447150]
lea ecx, [esp + 0x10]
call fcn.00438dd0
inc ebx
xor eax, eax
mov ecx, dword [esp + 0xc]
cmp ebx, dword [ecx]
setb al
jmp dword [eax*4 + 0x447150]
mov eax, dword [case.0x434c36.31]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + ebx*4 + 4]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
lea ecx, [esp + 0x10]
push 0
push eax
call fcn.00438c70
xor eax, eax
mov ecx, esi
neg ecx
sbb eax, edi
setl al
movzx eax, al
shl eax, 0x14
or eax, 1
lea ecx, [esp + 0x10]
push eax
call fcn.00438c90
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447168]
lea ecx, [esp + 0x10]
push edi
push esi
push 0
call fcn.00438ec0
mov ecx, dword [case.0x434c36.37]
nop
nop
nop
nop
nop
jmp ecx
test eax, eax
setns al
mov dword [esp + 0x24], eax
jmp case.0x434c36.32
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x4351ca
push eax
push 1
push dword [0x4498f0]
push ecx
call fcn.0043a390
add esp, 0x10
mov eax, dword [esp + 0x24]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret