Function at 0x45d044
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 8], edx
mov esi, eax
xor eax, eax
push ebp
push 0x45d3c8
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
mov bl, 1
mov dl, 1
mov eax, dword [0x429884]
call fcn.00429984
mov edi, eax
mov edx, 0x80000001
mov eax, edi
call fcn.00429a24
mov cl, 1
mov edx, 0x45d3e0
mov eax, edi
call fcn.00429a88
mov edx, 0x45d404
mov eax, edi
call fcn.00429f44
test al, al
je 0x45d0b9
mov edx, 0x45d404
mov eax, edi
call fcn.00429e50
mov edx, eax
mov eax, dword [esi + 0x304]
call fcn.004442c0
mov edx, 0x45d414
mov eax, edi
call fcn.00429f44
test al, al
je 0x45d0d7
mov edx, 0x45d414
mov eax, edi
call fcn.00429e14
mov ebx, eax
lea edx, [ebp - 8]
mov eax, 1
call fcn.00402a04
mov eax, dword [ebp - 8]
mov edx, 0x45d424
call fcn.004044cc
jne 0x45d14c
call fcn.00402a68
mov eax, dword [0x45f204]
mov eax, dword [eax]
call fcn.00450ac0
mov edx, dword [0x461044]
sub eax, dword [edx + 0x48]
sub eax, 5
call fcn.00402d0c
mov edx, eax
mov eax, dword [0x461044]
call fcn.00432170
mov eax, dword [0x45f204]
mov eax, dword [eax]
call fcn.00450a94
mov edx, dword [0x461044]
sub eax, dword [edx + 0x4c]
call fcn.00402d0c
mov edx, eax
mov eax, dword [0x461044]
call fcn.00432194
jmp 0x45d258
mov edx, 0x45d430
mov eax, edi
call fcn.00429f44
test al, al
je 0x45d211
mov edx, 0x45d43c
mov eax, edi
call fcn.00429f44
test al, al
je 0x45d211
mov edx, 0x45d430
mov eax, edi
call fcn.00429e14
mov edx, eax
mov eax, dword [0x461044]
call fcn.00432194
mov edx, 0x45d43c
mov eax, edi
call fcn.00429e14
mov edx, eax
mov eax, dword [0x461044]
call fcn.00432170
mov eax, dword [0x461044]
cmp dword [eax + 0x40], 0xffffffba
jl 0x45d1c9
mov eax, dword [0x45f204]
mov eax, dword [eax]
call fcn.0044fb5c
sub eax, 0x1e
mov edx, dword [0x461044]
cmp eax, dword [edx + 0x40]
jge 0x45d1d8
mov edx, 0x226
mov eax, dword [0x461044]
call fcn.00432170
mov eax, dword [0x461044]
cmp dword [eax + 0x44], 0xffffff74
jl 0x45d200
mov eax, dword [0x45f204]
mov eax, dword [eax]
call fcn.0044fb50
sub eax, 0x1e
mov edx, dword [0x461044]
cmp eax, dword [edx + 0x44]
jge 0x45d258
mov edx, 0x15e
mov eax, dword [0x461044]
call fcn.00432194
jmp 0x45d258
mov byte [ebp - 1], 1
mov eax, dword [0x45f204]
mov eax, dword [eax]
call fcn.00450ac0
mov edx, eax
mov eax, dword [0x461044]
sub edx, dword [eax + 0x48]
sub edx, 5
mov eax, dword [0x461044]
call fcn.00432170
mov eax, dword [0x45f204]
mov eax, dword [eax]
call fcn.00450a94
mov edx, eax
mov eax, dword [0x461044]
sub edx, dword [eax + 0x4c]
mov eax, dword [0x461044]
call fcn.00432194
mov eax, edi
call fcn.004299f4
mov edx, 0x45d44c
mov eax, edi
call fcn.00429bac
test al, al
je 0x45d295
cmp byte [ebp - 1], 0
jne 0x45d28e
mov edx, 0x45d484
mov eax, edi
call fcn.00429f44
mov edx, eax
mov eax, dword [esi + 0x33c]
call fcn.004442c0
mov eax, edi
call fcn.004299f4
mov eax, edi
call fcn.004032ec
test bl, bl
jne 0x45d2b6
mov dl, 1
mov eax, dword [esi + 0x310]
call fcn.004442c0
xor edx, edx
mov eax, esi
call fcn.0045ceb0
cmp bl, 1
jne 0x45d2d1
mov dl, 1
mov eax, dword [esi + 0x314]
call fcn.004442c0
xor edx, edx
mov eax, esi
call fcn.0045cec0
cmp bl, 2
jne 0x45d2ec
mov dl, 1
mov eax, dword [esi + 0x318]
call fcn.004442c0
xor edx, edx
mov eax, esi
call fcn.0045cedc
cmp bl, 3
jne 0x45d307
mov dl, 1
mov eax, dword [esi + 0x31c]
call fcn.004442c0
xor edx, edx
mov eax, esi
call fcn.0045cef8
cmp bl, 4
jne 0x45d322
mov dl, 1
mov eax, dword [esi + 0x320]
call fcn.004442c0
xor edx, edx
mov eax, esi
call fcn.0045cf14
cmp bl, 5
jne 0x45d33d
mov dl, 1
mov eax, dword [esi + 0x324]
call fcn.004442c0
xor edx, edx
mov eax, esi
call fcn.0045cf30
cmp bl, 6
jne 0x45d358
mov dl, 1
mov eax, dword [esi + 0x328]
call fcn.004442c0
xor edx, edx
mov eax, esi
call fcn.0045cf4c
cmp bl, 7
jne 0x45d373
mov dl, 1
mov eax, dword [esi + 0x32c]
call fcn.004442c0
xor edx, edx
mov eax, esi
call fcn.0045cf68
cmp bl, 8
jne 0x45d38e
mov dl, 1
mov eax, dword [esi + 0x330]
call fcn.004442c0
xor edx, edx
mov eax, esi
call fcn.0045cf84
cmp bl, 9
jne 0x45d3a9
mov dl, 1
mov eax, dword [esi + 0x334]
call fcn.004442c0
xor edx, edx
mov eax, esi
call fcn.0045cfa0
xor edx, edx
mov eax, esi
call fcn.0045cfbc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45d3cf
lea eax, [ebp - 8]
call fcn.004040c0
ret