Function at 0x434b70
Capabilities:
Encode data using xor

Disassembly:
push 0xffffffffffffffff
push 0x44c097
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
push ebx
push ebp
push esi
push edi
mov eax, dword [0x45f2b0]
xor eax, esp
push eax
lea eax, [esp + 0xcc]
mov dword fs:[0], eax
mov ebp, dword [esp + 0xdc]
mov eax, dword [ebp + 0x84]
test eax, eax
jne 0x434bb8
mov eax, 0x80004005
jmp 0x434f4f
lea eax, [esp + 0x38]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x18], 0xf
lea edi, [esi + 4]
mov dword [esi + 0x14], 0
mov byte [edi], 0
mov eax, dword [esi + 0x18]
mov ebx, pe_nt_image_headers32
mov dword [esp + 0x34], esp
cmp eax, ebx
jb 0x434bea
mov ecx, dword [edi]
jmp 0x434bec
mov ecx, edi
cmp ecx, 0x456684
ja 0x434c25
cmp eax, ebx
jb 0x434bfc
mov ecx, dword [edi]
jmp 0x434bfe
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x456684
jbe 0x434c25
cmp eax, ebx
jb 0x434c11
mov edi, dword [edi]
push 2
mov eax, 0x456684
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d10
jmp 0x434c67
cmp eax, 2
jae 0x434c37
mov ecx, dword [esi + 0x14]
push ecx
push 2
mov ecx, esi
call fcn.00403480
mov ecx, dword [esi + 0x18]
cmp ecx, ebx
jb 0x434c42
mov eax, dword [edi]
jmp 0x434c44
mov eax, edi
push 2
push 0x456684
push ecx
push eax
call fcn.00437feb
add esp, 0x10
mov dword [esi + 0x14], 2
cmp dword [esi + 0x18], ebx
jb 0x434c63
mov edi, dword [edi]
mov byte [edi + 2], 0
lea esi, [esp + 0x90]
call fcn.004014c0
mov dword [esp + 0xd8], 0
call fcn.00401580
mov edi, eax
add ebp, 0x70
push 2
xor ecx, ecx
lea esi, [esp + 0x20]
mov edx, ebp
mov byte [esp + 0xd8], 1
call fcn.004051c0
mov byte [esp + 0xd4], 2
cmp dword [edi + 0x18], ebx
jb 0x434cb1
mov ecx, dword [edi + 4]
jmp 0x434cb4
lea ecx, [edi + 4]
mov edi, eax
call fcn.004350e0
mov esi, pe_nt_image_headers32
mov bl, al
cmp dword [esp + 0x34], esi
jb 0x434cd5
mov edx, dword [esp + 0x20]
push edx
call fcn.00437f8b
add esp, 4
xor edi, edi
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], edi
mov byte [esp + 0x20], 0
cmp dword [esp + 0x50], esi
jb 0x434cfb
mov eax, dword [esp + 0x3c]
push eax
call fcn.00437f8b
add esp, 4
lea esi, [esp + 0x70]
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], edi
mov byte [esp + 0x3c], 0
mov dword [esp + 0xd4], 0xffffffff
call fcn.00429620
test bl, bl
jne 0x434f4d
call fcn.0042f890
lea ecx, [esp + 0x1c]
push ecx
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0xf4], 0xffffffff
mov dword [esi + 0x14], edi
mov dword [esi + 0x18], 0xf
lea edi, [esi + 4]
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov ebx, pe_nt_image_headers32
mov dword [esp + 0x34], esp
cmp eax, ebx
jb 0x434d65
mov ecx, dword [edi]
jmp 0x434d67
mov ecx, edi
cmp ecx, 0x456688
ja 0x434da0
cmp eax, ebx
jb 0x434d77
mov ecx, dword [edi]
jmp 0x434d79
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x456688
jbe 0x434da0
cmp eax, ebx
jb 0x434d8c
mov edi, dword [edi]
push 3
mov eax, 0x456688
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d10
jmp 0x434de2
cmp eax, 3
jae 0x434db2
mov ecx, dword [esi + 0x14]
push ecx
push 3
mov ecx, esi
call fcn.00403480
mov ecx, dword [esi + 0x18]
cmp ecx, ebx
jb 0x434dbd
mov eax, dword [edi]
jmp 0x434dbf
mov eax, edi
push 3
push 0x456688
push ecx
push eax
call fcn.00437feb
add esp, 0x10
mov dword [esi + 0x14], 3
cmp dword [esi + 0x18], ebx
jb 0x434dde
mov edi, dword [edi]
mov byte [edi + 3], 0
lea esi, [esp + 0x90]
call fcn.004014c0
mov dword [esp + 0xd8], 5
call fcn.00401580
mov edi, eax
push 3
xor ecx, ecx
lea esi, [esp + 0x3c]
mov edx, ebp
mov byte [esp + 0xd8], 6
call fcn.004051c0
mov byte [esp + 0xd4], 7
cmp dword [edi + 0x18], ebx
jb 0x434e29
mov ecx, dword [edi + 4]
jmp 0x434e2c
lea ecx, [edi + 4]
mov edi, eax
call fcn.004350e0
test al, al
mov edi, pe_nt_image_headers32
sete bl
cmp dword [esp + 0x50], edi
jb 0x434e50
mov edx, dword [esp + 0x3c]
push edx
call fcn.00437f8b
add esp, 4
mov esi, 0xf
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], 0
mov byte [esp + 0x3c], 0
cmp dword [esp + 0x34], edi
jb 0x434e79
mov eax, dword [esp + 0x20]
push eax
call fcn.00437f8b
add esp, 4
mov dword [esp + 0x34], esi
lea esi, [esp + 0x70]
mov dword [esp + 0x30], 0
mov byte [esp + 0x20], 0
mov dword [esp + 0xd4], 0xffffffff
call fcn.00429620
test bl, bl
jne 0x434bae
mov edi, dword [esp + 0xdc]
mov eax, dword [edi + 0x84]
cmp eax, 0x20
jbe 0x434bae
push 0xffffffffffffffff
mov ecx, 0x20
lea esi, [esp + 0x58]
mov edx, ebp
call fcn.004051c0
push 0xffffffffffffffff
push 0
push eax
mov ecx, ebp
mov dword [esp + 0xe0], 8
call fcn.00402d10
mov ecx, esi
call fcn.00402ba0
mov eax, dword [edi + 0x84]
lea esi, [eax - 1]
mov dword [esp + 0x14], eax
test esi, esi
jbe 0x434f32
lea ecx, [ecx]
lea edi, [esi - 1]
mov eax, ebp
mov dword [esp + 0x18], edi
call fcn.00402c20
mov ebx, eax
mov edi, esi
mov eax, ebp
call fcn.00402c20
mov bl, byte [ebx]
xor bl, byte [eax]
mov eax, ebp
call fcn.00402c20
mov esi, dword [esp + 0x18]
mov byte [eax], bl
test esi, esi
ja 0x434f00
mov eax, dword [esp + 0x14]
test eax, eax
jbe 0x434f4d
mov edi, esi
mov eax, ebp
call fcn.00402c20
mov bl, byte [eax]
mov eax, ebp
xor bl, 0x12
call fcn.00402c20
mov byte [eax], bl
xor eax, eax
mov ecx, dword [esp + 0xcc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc4
ret 4