Function at 0x45d024
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
push ebx
push esi
push edi
mov edi, eax
xor eax, eax
push ebp
push 0x45d3c2
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
mov bl, 1
mov dl, 1
mov eax, dword [0x42988c]
call fcn.0042998c
mov esi, eax
mov edx, 0x80000001
mov eax, esi
call fcn.00429a2c
mov cl, 1
mov edx, 0x45d3d8
mov eax, esi
call fcn.00429a90
mov edx, 0x45d3f4
mov eax, esi
call fcn.00429d94
test al, al
je 0x45d097
mov edx, 0x45d3f4
mov eax, esi
call fcn.00429ca0
mov edx, eax
mov eax, dword [edi + 0x304]
call fcn.00444110
mov edx, 0x45d404
mov eax, esi
call fcn.00429d94
test al, al
je 0x45d0b5
mov edx, 0x45d404
mov eax, esi
call fcn.00429c64
mov ebx, eax
lea edx, [ebp - 8]
mov eax, 1
call fcn.00402a04
mov eax, dword [ebp - 8]
mov edx, 0x45d414
call fcn.004044cc
jne 0x45d12a
call fcn.00402a68
mov eax, dword [0x45f204]
mov eax, dword [eax]
call fcn.00450910
mov edx, dword [0x461044]
sub eax, dword [edx + 0x48]
sub eax, 5
call fcn.00402d0c
mov edx, eax
mov eax, dword [0x461044]
call fcn.00431fc0
mov eax, dword [0x45f204]
mov eax, dword [eax]
call fcn.004508e4
mov edx, dword [0x461044]
sub eax, dword [edx + 0x4c]
call fcn.00402d0c
mov edx, eax
mov eax, dword [0x461044]
call fcn.00431fe4
jmp 0x45d236
mov edx, 0x45d420
mov eax, esi
call fcn.00429d94
test al, al
je 0x45d1ef
mov edx, 0x45d42c
mov eax, esi
call fcn.00429d94
test al, al
je 0x45d1ef
mov edx, 0x45d420
mov eax, esi
call fcn.00429c64
mov edx, eax
mov eax, dword [0x461044]
call fcn.00431fe4
mov edx, 0x45d42c
mov eax, esi
call fcn.00429c64
mov edx, eax
mov eax, dword [0x461044]
call fcn.00431fc0
mov eax, dword [0x461044]
cmp dword [eax + 0x40], 0xffffffba
jl 0x45d1a7
mov eax, dword [0x45f204]
mov eax, dword [eax]
call fcn.0044f9ac
sub eax, 0x1e
mov edx, dword [0x461044]
cmp eax, dword [edx + 0x40]
jge 0x45d1b6
mov edx, 0x226
mov eax, dword [0x461044]
call fcn.00431fc0
mov eax, dword [0x461044]
cmp dword [eax + 0x44], 0xffffff74
jl 0x45d1de
mov eax, dword [0x45f204]
mov eax, dword [eax]
call fcn.0044f9a0
sub eax, 0x1e
mov edx, dword [0x461044]
cmp eax, dword [edx + 0x44]
jge 0x45d236
mov edx, 0x15e
mov eax, dword [0x461044]
call fcn.00431fe4
jmp 0x45d236
mov byte [ebp - 1], 1
mov eax, dword [0x45f204]
mov eax, dword [eax]
call fcn.00450910
mov edx, eax
mov eax, dword [0x461044]
sub edx, dword [eax + 0x48]
sub edx, 5
mov eax, dword [0x461044]
call fcn.00431fc0
mov eax, dword [0x45f204]
mov eax, dword [eax]
call fcn.004508e4
mov edx, eax
mov eax, dword [0x461044]
sub edx, dword [eax + 0x4c]
mov eax, dword [0x461044]
call fcn.00431fe4
mov eax, esi
call fcn.004299fc
mov cl, 1
mov edx, 0x45d43c
mov eax, esi
call fcn.00429a90
cmp byte [ebp - 1], 0
je 0x45d26a
lea edx, [ebp - 0xc]
xor eax, eax
call fcn.00402a04
mov ecx, dword [ebp - 0xc]
mov edx, 0x45d474
mov eax, esi
call fcn.00429c24
mov edx, 0x45d474
mov eax, esi
call fcn.00429d94
mov edx, eax
mov eax, dword [edi + 0x33c]
call fcn.00444110
mov eax, esi
call fcn.004299fc
mov eax, esi
call fcn.004032ec
test bl, bl
jne 0x45d2ab
mov dl, 1
mov eax, dword [edi + 0x310]
call fcn.00444110
xor edx, edx
mov eax, edi
call fcn.0045ce68
cmp bl, 1
jne 0x45d2c6
mov dl, 1
mov eax, dword [edi + 0x314]
call fcn.00444110
xor edx, edx
mov eax, edi
call fcn.0045ce78
cmp bl, 2
jne 0x45d2e1
mov dl, 1
mov eax, dword [edi + 0x318]
call fcn.00444110
xor edx, edx
mov eax, edi
call fcn.0045ce94
cmp bl, 3
jne 0x45d2fc
mov dl, 1
mov eax, dword [edi + 0x31c]
call fcn.00444110
xor edx, edx
mov eax, edi
call fcn.0045ceb0
cmp bl, 4
jne 0x45d317
mov dl, 1
mov eax, dword [edi + 0x320]
call fcn.00444110
xor edx, edx
mov eax, edi
call fcn.0045cecc
cmp bl, 5
jne 0x45d332
mov dl, 1
mov eax, dword [edi + 0x324]
call fcn.00444110
xor edx, edx
mov eax, edi
call fcn.0045cee8
cmp bl, 6
jne 0x45d34d
mov dl, 1
mov eax, dword [edi + 0x328]
call fcn.00444110
xor edx, edx
mov eax, edi
call fcn.0045cf04
cmp bl, 7
jne 0x45d368
mov dl, 1
mov eax, dword [edi + 0x32c]
call fcn.00444110
xor edx, edx
mov eax, edi
call fcn.0045cf20
cmp bl, 8
jne 0x45d383
mov dl, 1
mov eax, dword [edi + 0x330]
call fcn.00444110
xor edx, edx
mov eax, edi
call fcn.0045cf3c
cmp bl, 9
jne 0x45d39e
mov dl, 1
mov eax, dword [edi + 0x334]
call fcn.00444110
xor edx, edx
mov eax, edi
call fcn.0045cf58
xor edx, edx
mov eax, edi
call fcn.0045cf74
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45d3c9
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004040e4
ret