Function at 0x4be3f8
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xc
push 0
push 0
dec ecx
jne 0x4be400
push ebx
xor eax, eax
push ebp
push 0x4beacc
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4beae0
call fcn.004b3ba4
mov ebx, 1
jmp 0x4be934
mov eax, dword [0x4c3f88]
cmp byte [eax], 0
je 0x4be486
lea edx, [ebp - 4]
mov eax, ebx
call fcn.0047ce58
mov eax, dword [ebp - 4]
call fcn.00405710
cmp eax, 0x200
jle 0x4be463
lea eax, [ebp - 4]
push eax
mov ecx, 0x200
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004058b0
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00409b2c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.004098d4
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 4]
call fcn.00405510
jmp 0x4be4e1
lea edx, [ebp - 8]
mov eax, ebx
call fcn.00402f10
mov eax, dword [ebp - 8]
call fcn.00405028
cmp eax, 0x200
jle 0x4be4b5
lea eax, [ebp - 8]
push eax
mov ecx, 0x200
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.00405288
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.00409adc
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.0040965c
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 8]
call fcn.00404df0
lea eax, [ebp - 4]
mov edx, dword [ebp - 8]
call fcn.00405684
push 0x4beb08
lea edx, [ebp - 0x28]
mov eax, ebx
call fcn.00409e34
push dword [ebp - 0x28]
push 0x4beb2c
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.004050e8
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x20]
call fcn.00405684
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 4]
call fcn.0040571c
mov edx, dword [ebp - 0x20]
lea eax, [ebp - 0x1c]
call fcn.00404ff0
mov eax, dword [ebp - 0x1c]
call fcn.004b3ba4
mov eax, dword [ebp - 4]
mov edx, 0x4beb34
call fcn.0040582c
jne 0x4be54a
mov eax, dword [0x4c441c]
mov byte [eax], 1
jmp 0x4be933
mov eax, dword [ebp - 4]
mov edx, 0x4beb5c
call fcn.0040582c
jne 0x4be566
mov eax, dword [0x4c4358]
mov byte [eax], 1
jmp 0x4be933
mov eax, dword [ebp - 4]
mov edx, 0x4beb70
call fcn.0040582c
jne 0x4be582
mov eax, dword [0x4c3f58]
mov byte [eax], 1
jmp 0x4be933
mov eax, dword [ebp - 4]
mov edx, 0x4beb8c
call fcn.0040582c
jne 0x4be59e
mov eax, dword [0x4c4254]
mov byte [eax], 1
jmp 0x4be933
mov eax, dword [ebp - 4]
mov edx, 0x4bebac
call fcn.0040582c
jne 0x4be5ba
mov eax, dword [0x4c42cc]
mov byte [eax], 1
jmp 0x4be933
mov eax, dword [ebp - 4]
mov edx, 0x4bebc8
call fcn.0040582c
jne 0x4be5d6
mov eax, dword [0x4c3f64]
mov byte [eax], 1
jmp 0x4be933
mov eax, dword [ebp - 4]
mov edx, 0x4bebf0
call fcn.0040582c
jne 0x4be5f2
mov eax, dword [0x4c3fe8]
mov byte [eax], 1
jmp 0x4be933
mov eax, dword [ebp - 4]
mov edx, 0x4bec08
call fcn.0040582c
jne 0x4be60e
mov eax, dword [0x4c4168]
mov byte [eax], 1
jmp 0x4be933
mov eax, dword [ebp - 4]
mov edx, 0x4bec24
call fcn.0040582c
jne 0x4be62a
mov eax, dword [0x4c4120]
mov byte [eax], 1
jmp 0x4be933
mov eax, dword [ebp - 4]
mov edx, 0x4bec40
call fcn.0040582c
jne 0x4be646
mov eax, dword [0x4c3f54]
mov byte [eax], 1
jmp 0x4be933
mov eax, dword [ebp - 4]
mov edx, 0x4bec58
call fcn.0040582c
jne 0x4be662
mov eax, dword [0x4c42dc]
mov byte [eax], 1
jmp 0x4be933
mov eax, dword [ebp - 4]
mov edx, 0x4bec70
call fcn.0040582c
jne 0x4be67e
mov eax, dword [0x4c4450]
mov byte [eax], 1
jmp 0x4be933
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0xc
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004058b0
mov eax, dword [ebp - 0x2c]
mov edx, 0x4bec94
call fcn.0040582c
jne 0x4be6fa
mov eax, dword [0x4c4438]
mov byte [eax], 1
mov eax, dword [0x4c3f58]
mov byte [eax], 1
mov eax, dword [0x4c441c]
mov byte [eax], 1
lea eax, [ebp - 4]
mov ecx, 0xd
mov edx, 1
call fcn.004058fc
mov eax, dword [ebp - 4]
xor edx, edx
call fcn.0040582c
jbe 0x4be933
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.00409908
mov edx, dword [ebp - 0x30]
mov eax, dword [0x4c4210]
call fcn.004054ec
jmp 0x4be933
mov eax, dword [ebp - 4]
mov edx, 0x4becb4
call fcn.0040582c
jne 0x4be71e
mov eax, dword [0x4c3f58]
mov byte [eax], 1
mov eax, dword [0x4c441c]
mov byte [eax], 1
jmp 0x4be933
mov eax, dword [ebp - 4]
mov edx, 0x4becc0
call fcn.0040582c
jne 0x4be742
mov eax, dword [0x4c3f58]
mov byte [eax], 1
mov eax, dword [0x4c441c]
mov byte [eax], 1
jmp 0x4be933
lea eax, [ebp - 0x34]
push eax
mov ecx, 5
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004058b0
mov eax, dword [ebp - 0x34]
mov edx, 0x4becd4
call fcn.0040582c
jne 0x4be7ae
lea eax, [ebp - 4]
mov ecx, 6
mov edx, 1
call fcn.004058fc
mov eax, dword [ebp - 4]
xor edx, edx
call fcn.0040582c
jbe 0x4be79d
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 4]
call fcn.00409908
mov edx, dword [ebp - 0x38]
mov eax, dword [0x4c4354]
call fcn.00404ff0
mov eax, dword [0x4c4354]
mov eax, dword [eax]
call fcn.004a4c50
jmp 0x4be933
lea eax, [ebp - 0x3c]
push eax
mov ecx, 4
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004058b0
mov eax, dword [ebp - 0x3c]
mov edx, 0x4bece4
call fcn.0040582c
jne 0x4be81a
lea eax, [ebp - 4]
mov ecx, 5
mov edx, 1
call fcn.004058fc
mov eax, dword [0x4c3ecc]
mov byte [eax], 1
mov eax, dword [ebp - 4]
xor edx, edx
call fcn.0040582c
jbe 0x4be933
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 4]
call fcn.00409908
mov edx, dword [ebp - 0x40]
mov eax, dword [0x4c4184]
call fcn.004054ec
jmp 0x4be933
lea eax, [ebp - 0x44]
push eax
mov ecx, 4
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004058b0
mov eax, dword [ebp - 0x44]
mov edx, 0x4becf4
call fcn.0040582c
jne 0x4be87e
lea eax, [ebp - 4]
mov ecx, 5
mov edx, 1
call fcn.004058fc
mov eax, dword [ebp - 4]
xor edx, edx
call fcn.0040582c
jbe 0x4be933
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 4]
call fcn.00409908
mov edx, dword [ebp - 0x48]
mov eax, dword [0x4c4280]
call fcn.004054ec
jmp 0x4be933
lea eax, [ebp - 0x4c]
push eax
mov ecx, 8
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004058b0
mov eax, dword [ebp - 0x4c]
mov edx, 0x4bed04
call fcn.0040582c
jne 0x4be933
lea eax, [ebp - 4]
mov ecx, 9
mov edx, 1
call fcn.004058fc
mov eax, dword [ebp - 4]
xor edx, edx
call fcn.0040582c
jbe 0x4be933
mov eax, dword [ebp - 4]
mov edx, 0x4bed1c
call fcn.0040582c
jne 0x4be8de
mov eax, dword [0x4c44f8]
mov byte [eax], 2
jmp 0x4be8f5
mov eax, dword [ebp - 4]
mov edx, 0x4bed24
call fcn.0040582c
jne 0x4be8f5
mov eax, dword [0x4c44f8]
mov byte [eax], 1
push 0x80000001
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x58]
mov edx, dword [0x4c4354]
mov edx, dword [edx]
call fcn.00405684
mov edx, dword [ebp - 0x58]
mov ecx, 0x4bed30
mov eax, 0x4bed54
call fcn.004a2374
mov edx, dword [ebp - 0x54]
lea eax, [ebp - 0x50]
call fcn.00404ff0
mov eax, dword [ebp - 0x50]
call fcn.004a4c50
inc ebx
call fcn.00402ea8
cmp ebx, eax
jle 0x4be42a
mov ecx, 0x80000001
mov edx, 0x4bed78
mov eax, 0x4bedb0
call fcn.004a25b4
test al, al
je 0x4bea10
push 0x80000001
lea eax, [ebp - 4]
push eax
mov ecx, 0x4bed78
xor edx, edx
mov eax, 0x4bedb0
call fcn.004a2374
lea eax, [ebp - 0x60]
mov edx, dword [ebp - 4]
call fcn.00404ff0
mov eax, dword [ebp - 0x60]
lea edx, [ebp - 0x5c]
call fcn.0040965c
mov edx, dword [ebp - 0x5c]
lea eax, [ebp - 4]
call fcn.00405684
mov edx, dword [ebp - 4]
mov eax, 0x4bec40
call fcn.00405a28
test eax, eax
jle 0x4be9b1
mov eax, dword [0x4c3f54]
mov byte [eax], 1
mov edx, dword [ebp - 4]
mov eax, 0x4bebac
call fcn.00405a28
test eax, eax
jle 0x4be9ca
mov eax, dword [0x4c42cc]
mov byte [eax], 1
mov edx, dword [ebp - 4]
mov eax, 0x4bebc8
call fcn.00405a28
test eax, eax
jle 0x4be9e3
mov eax, dword [0x4c3f64]
mov byte [eax], 1
mov edx, dword [ebp - 4]
mov eax, 0x4bebf0
call fcn.00405a28
test eax, eax
jle 0x4be9fc
mov eax, dword [0x4c3fe8]
mov byte [eax], 1
mov ecx, 0x80000001
mov edx, 0x4bed78
mov eax, 0x4bedb0
call fcn.004a2530
mov eax, dword [0x4c44f4]
cmp dword [eax], 2
je 0x4bea22
mov eax, dword [0x4c3f64]
mov byte [eax], 1
mov eax, dword [0x4c40a8]
cmp dword [eax], 5
jne 0x4bea50
mov eax, dword [0x4c4370]
cmp dword [eax], 1
jge 0x4bea50
call fcn.004b4c40
test al, al
jne 0x4bea50
call fcn.004b4c4c
test al, al
jne 0x4bea50
mov eax, dword [0x4c3f64]
mov byte [eax], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bead3
lea eax, [ebp - 0x60]
mov edx, 2
call fcn.00404d7c
lea eax, [ebp - 0x58]
mov edx, 2
call fcn.004054c8
lea eax, [ebp - 0x50]
call fcn.00404d58
lea eax, [ebp - 0x4c]
mov edx, 9
call fcn.004054c8
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.00404d7c
lea eax, [ebp - 0x20]
call fcn.004054b0
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00404d7c
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.004054c8
lea eax, [ebp - 8]
call fcn.00404d58
lea eax, [ebp - 4]
call fcn.004054b0
ret