Function at 0x436c30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [0x5240d8], 0x1beb
sub dword [0x524237], 0x22af
push edi
push esi
push 0
call dword [0x4c402c]
mov dword [ebp - 0x20], eax
mov edi, 0
mov ebx, 0x8a8
imul edi, ebx, 0x1b
push edi
sub dword [0x5242dc], edi
pop dword [0x524536]
push 0
call dword [0x4c402c]
mov dword [ebp - 0x10], eax
or eax, eax
je 0x436d42
xor ebx, ebx
mov edi, 0x6e16d
xor ebx, edi
sub dword [0x5241e0], ebx
inc ebx
dec dword [0x524550]
mov dword [ebp - 4], ebx
mov eax, 0
mov esi, 0x41
xor eax, esi
push eax
inc eax
rol dword [0x52466b], 4
mov dword [0x524506], eax
pop edi
lea eax, [0x52429a]
push eax
push edi
push dword [0x5243ba]
push 0
push ebx
push 0
call fcn.0043714c
mov dword [0x5247b3], eax
push dword [0x52443e]
push 0x524231
push 0x97e5
lea eax, [0x5240a9]
push eax
push 0x5ca4
push dword [0x52444f]
call fcn.0043714c
mov dword [ebp - 4], eax
push 0
push 0
call dword [0x4c4044]
mov dword [0x52405a], eax
mov eax, 0
push eax
push eax
call dword [0x4c4044]
mov dword [ebp - 0x1c], eax
lea edi, [eax + ebp*2 + 0x576]
shr edi, 1
mov dword [0x52427b], edi
sub dword [0x52479c], edi
mov ebx, 0x27
push ebx
add dword [0x5241bd], ebx
pop dword [0x5242e4]
mov esi, edi
sub esi, 9
push esi
mov dword [0x524421], esi
pop dword [0x52406c]
sub eax, 0xca81
lea esi, [edi + ebp + 0x694]
inc esi
push esi
add esi, dword [0x5242b0]
sub dword [0x52465c], esi
mov dword [0x5246eb], esi
pop esi
add eax, 0xca80
jne 0x436d0b
push 0x52469c
call fcn.00436ec4
mov dword [ebp - 0x28], eax
call fcn.00436fd4
test al, al
jne 0x43616f
mov ecx, 0x4d
dec ebx
mov dword [0x524565], eax
mov edi, 0x649dd
rol dword [0x5245ad], 4
add edi, dword [0x5240a0]
mov dword [0x52415e], edi
mov dword [ebp - 0x14], edi
push 0x5243d3
lea eax, [0x524230]
push eax
push 0x524344
push dword [0x52460a]
lea eax, [0x524379]
push eax
push 0
call fcn.004370c4
mov dword [ebp - 0x24], eax
mov dword [0x52420a], eax
push eax
push dword [0x5245b6]
push dword [str.__.:]
call fcn.004372b7
sub dword [0x52456f], eax
sub dword [0x52459b], eax
call fcn.004371e4
or al, al
jne 0x4361ea
sub edi, 1
inc esi
mov dword [ebp - 0x2c], eax
lea ebx, [esi + 0x9e]
mov eax, 0x15
xor ebx, eax
mov dword [str.jHDsTif], ebx
add ebx, dword [0x52440e]
push ebx
add dword [0x5241de], ebx
pop eax
call dword [0x4c401c]
mov dword [0x524047], eax
inc eax
jne 0x436c32
lea eax, [0x524594]
push eax
push 0xeb0c
call fcn.00436df4
mov dword [ebp - 0x24], eax
call fcn.00436e7c
mov dword [ebp - 0x18], eax
push 0x5240ad
call dword [0x4c4004]
mov dword [ebp - 0x28], eax
or eax, eax
jne 0x436d0d
push 0
call dword [0x4c402c]
mov dword [0x524594], eax
or eax, eax
je 0x436d07
call dword [0x4c4020]
mov dword [ebp - 0xc], eax
or eax, eax
je 0x436c38
call dword [0x4c401c]
mov dword [0x524341], eax
inc eax
jne 0x436d09
mov dword [ebp - 0xc], esi
dec ebx
inc edi
push 0x524076
call fcn.00436ec4
mov dword [ebp - 8], eax
push edi
push dword [0x5242fe]
push ebx
push 0x52455e
push eax
push 0
call fcn.0043714c
mov dword [ebp - 8], eax
push 0
mov dword [ebp - 8], 0x2d
mov ebx, esi
push dword [0x524516]
mov esi, eax
mov ebx, 0x6d
add ebx, esi
push 0
push 0x52456c
call fcn.00437248
mov dword [ebp - 8], eax
call dword [0x4c4020]
mov dword [0x524405], eax
or eax, eax
je 0x436cd9
push dword [0x52402e]
push 0x1d8d
push 0
push dword [0x52418a]
push dword [0x524462]
push 0xb413
call fcn.004370c4
or al, al
jne 0x43631d
add ebx, edi
or ebx, 0x14
inc esi
mov dword [ebp - 4], eax
call dword [0x4c401c]
mov dword [0x524700], eax
inc eax
jne 0x436c38
call dword [0x4c401c]
mov dword [ebp - 0xc], eax
inc eax
jne 0x436d42
push 0x60c3
push 0
push 0x52413f
call fcn.00436f44
mov dword [0x5241e1], eax
call dword [0x4c401c]
mov dword [0x5246db], eax
inc eax
jne 0x436c71
call dword [0x4c4024]
mov dword [0x5243c9], eax
or eax, eax
je 0x436c30
push 0xdbc7
push 0xe770
neg ebx
add eax, esi
inc eax
push dword [0x52445b]
call fcn.00436f44
mov dword [0x5242ae], eax
push 0
call dword [0x4c402c]
mov dword [ebp - 4], eax
or eax, eax
je 0x436cd9
push str.JsNTOjDtHjzHNocojo
call dword [0x4c4004]
mov dword [ebp - 0x24], eax
or eax, eax
jne 0x436c38
call 0x436da0
or al, al
je 0x4363d5
lea ecx, [0xd0]
dec esi
mov dword [ebp - 0x18], eax
mov eax, 0x24
shr eax, 7
sub dword [0x524244], eax
push eax
add dword [0x52429e], eax
pop dword [str.___18.:jE]
call fcn.00436fd4
mov dword [0x52415c], eax
call dword [0x4c401c]
mov dword [ebp - 0xc], eax
inc eax
jne 0x436c6c
push 0
call dword [0x4c402c]
mov dword [ebp - 0x2c], eax
or eax, eax
je 0x436c32
push dword [0x5245f5]
call fcn.00436ec4
mov dword [0x5246f3], eax
lea eax, [0x5240df]
push eax
push eax
call fcn.00436df4
mov dword [ebp - 0x2c], eax
push 0x2c5f
push ebx
call fcn.00436df4
mov dword [0x5247b4], eax
call dword [0x4c4024]
mov dword [ebp - 0x10], eax
or eax, eax
je 0x436ca6
call dword [0x4c4020]
mov dword [0x52474b], eax
or eax, eax
je 0x436d09
lea eax, [0x524438]
push eax
xor esi, dword [0x5432b3]
dec ebx
push 0xa468
lea ebx, [0xa]
dec eax
lea eax, [0x524169]
push eax
mov eax, 0x437718
call eax
test eax, eax
je 0x436d0b
mov ebx, eax
add esi, 1
inc eax
dec esi
push dword [0x5241c9]
add eax, 1
lea eax, [0x524049]
push eax
call fcn.00436df4
mov dword [0x52471d], eax
call dword [0x4c401c]
mov dword [ebp - 8], eax
inc eax
jne 0x436c30
call fcn.00436e7c
mov dword [0x524128], eax
call fcn.00436e7c
mov dword [ebp - 0x28], eax
call dword [0x4c4024]
mov dword [ebp - 0x28], eax
or eax, eax
je 0x436d0b
call fcn.004371e4
test al, al
je 0x436510
cmp esi, dword [0x5280d0]
add eax, ebx
inc edi
mov dword [0x524506], eax
call dword [0x4c401c]
mov dword [0x524461], eax
inc eax
jne 0x436c32
mov eax, 0x5336b
dec eax
push eax
mov esi, 0x16d9
imul eax, esi, 0x5c
mov dword [ebp - 0xc], eax
mov dword [0x5243b1], eax
pop esi
push 0
call dword [0x4c402c]
mov dword [ebp - 0x2c], eax
or eax, eax
je 0x436d0d
push 0xeb41
lea eax, [0x524443]
push eax
call fcn.00436df4
mov dword [0x52418c], eax
call dword [0x4c4024]
mov dword [ebp - 8], eax
mov dword [0x52416a], eax
call dword [section..rdata]
mov dword [ebp - 8], eax
or eax, eax
je 0x436ca6
call fcn.00436fd4
or al, al
je 0x436597
mov dword [ebp - 0x1c], 0x57
mov dword [0x5247eb], eax
push 0x524573
call dword [0x4c4004]
mov dword [ebp - 0x28], eax
or eax, eax
jne 0x436c71
call dword [section..rdata]
mov dword [0x524522], eax
or eax, eax
je 0x436ca6
mov edi, 0x81b
sub eax, edi
mov dword [ebp - 0x1c], eax
rol dword [0x524175], 3
sub dword [0x52474c], eax
call 0x436da0
mov dword [ebp - 0x10], eax
push 0xf7cc
push 0x524125
push eax
push 0
call fcn.00437248
test al, al
jne 0x436600
mov dword [ebp - 0x2c], eax
add esi, eax
inc esi
mov dword [0x5240fc], eax
push 0
call dword [0x4c402c]
mov dword [0x5243ab], eax
or eax, eax
je 0x436c32
push 0
push ebx
mov eax, 0x4372f8
call eax
push esi
push ebx
push ebx
lea eax, [0x524647]
push eax
mov esi, edi
mov edi, ebx
add eax, edi
push 0
lea eax, [0x5241d6]
push eax
push eax
push esi
call fcn.0043714c
mov dword [0x5244b2], eax
push dword [0x5246f4]
push 0x524691
call fcn.00436df4
mov dword [ebp - 8], eax
call fcn.00436e7c
mov dword [ebp - 8], eax
call 0x436da0
or al, al
je 0x436673
sub ebx, 1
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], esi
xor esi, esi
or bx, ax
push 0x5245d6
push 0
sub esi, 1
lea eax, [0x524054]
push eax
push dword [0x5247d5]
call fcn.00437248
or al, al
jne 0x4366a9
add ebx, edi
add esi, 1
mov dword [0x52407e], eax
push dword [0x524474]
push dword [0x5240c4]
push 0x5241b6
call fcn.00436f44
mov dword [0x52469a], eax
xor eax, eax
shl eax, 7
push eax
mov edi, 0x1465
add eax, edi
dec dword [0x524197]
mov dword [0x5245b4], eax
pop dword [0x524541]
push dword [0x5245b3]
push 0x524215
push 0x5243ca
lea eax, [0x524522]
push eax
push ebx
push 0xb6b2
call fcn.0043714c
mov dword [0x5245a8], eax
push 0x396b8
pop ebx
mov edi, 0x23b2
sub ebx, edi
push ebx
ror ebx, 3
rol dword [0x52401a], 7
mov dword [0x5245c8], ebx
pop ebx
ret
add edi, esi
sub ebx, 2
xor ebx, edi
push 0
call dword [0x4c402c]
mov dword [0x524204], eax
or eax, eax
je 0x436c38
push 0
call dword [0x4c402c]
mov dword [0x5242ba], eax
or eax, eax
je 0x436c38
sub esp, 0x65
call 0x436c30
mov esi, 0x24
inc edi
call dword [0x4c401c]
mov dword [0x52420c], eax
inc eax
jne 0x436c38
push 0x61
popal
push 0x28
sub byte [edx + 0xe], ch
push cs
push 0x73
jae 0x436cfb
sub al, 0x2c
push 0x51
push ecx
push 0x48
dec eax
push 0x3c
cmp al, 0x6a
invalid
mov edi, ebx
add edi, ebx
call dword [section..rdata]
mov dword [0x52400e], eax
or eax, eax
je 0x436c71
push 0x524104
call dword [0x4c4004]
mov dword [0x5243ce], eax
mov dword [0x52419a], eax
jmp 0x6e96ae08
dec ebx
mov eax, 0
mov eax, 0xe5a94
or eax, ebx
push eax
sub dword [0x5244ae], eax
pop esi
xor edi, edi
sub dword [0x524017], edi
mov dword [0x52401f], edi
jmp 0xf5ee9a9e
add byte [ecx + 0x52401f3d], cl
add cl, ch
popfd
sub eax, 0x868df5ab
add byte [eax], al
add byte [eax], al
add esi, ebx
mov eax, ebx
add ebx, esi
add edi, ebx
push 0
call dword [0x4c402c]
mov dword [0x524778], eax
or eax, eax
je 0x436d09
sahf
sbb ebp, eax
cmp al, 0x40
dec edi
mov bh, 0xf5
jbe 0x436d58
jecxz 0x436cf5
jb 0x436d8f
jns 0x436d9c
out 0x87, eax
cwde
ret 0x5569
inc edi
mov edx, esi
call dword [0x4c4020]
mov dword [0x524614], eax
mov dword [0x5241cb], eax
call dword [0x4c4020]
mov dword [0x524610], eax
inc eax
dec esp
add byte [ebx + 0x524610], ah
or eax, eax
je 0x436ca4
leave
ret
push edx
add byte [ecx], cl
ror byte [edi], 0x85
cmp al, 0xff
invalid
and ebp, edi
out 0xb6, eax
push ecx
push edx
push 0
call dword [0x4c402c]
mov dword [0x52401a], eax
mov dword [0x524044], eax
mov esi, dword [ebp + 4]
inc esi
inc dword [0x5244ce]
and esi, 0x29
push esi
add dword [0x524611], esi
pop dword [0x52470a]
mov esi, dword [ebp + 4]
add esi, dword [0x524276]
push esi
add dword [0x5240ba], esi
pop dword [0x5243b1]
cmp esi, 0x2d3
pop edx
pop ecx
setne al
ret