Function at 0x47b658
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x10], edx
mov edi, eax
xor eax, eax
push ebp
push 0x47bb2c
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
xor ebx, ebx
mov dword [ebp - 0xc], 1
mov byte [0x47ff58], 1
mov dl, 1
mov eax, dword [0x429410]
call fcn.00429510
mov esi, eax
mov edx, 0x80000001
mov eax, esi
call fcn.004295b0
mov cl, 1
mov edx, 0x47bb44
mov eax, esi
call fcn.00429614
mov edx, 0x47bb68
mov eax, esi
call fcn.00429ad0
test al, al
je 0x47b6db
mov edx, 0x47bb68
mov eax, esi
call fcn.004299dc
mov edx, eax
mov eax, dword [edi + 0x330]
call fcn.00443e4c
mov edx, 0x47bb78
mov eax, esi
call fcn.00429ad0
test al, al
je 0x47b704
mov edx, 0x47bb78
mov eax, esi
call fcn.004299dc
mov edx, eax
mov eax, dword [edi + 0x408]
call fcn.00443e4c
mov edx, 0x47bb90
mov eax, esi
call fcn.00429ad0
test al, al
je 0x47b722
mov edx, 0x47bb90
mov eax, esi
call fcn.004299a0
mov ebx, eax
mov edx, 0x47bba0
mov eax, esi
call fcn.00429ad0
test al, al
je 0x47b741
mov edx, 0x47bba0
mov eax, esi
call fcn.004299a0
mov dword [ebp - 8], eax
mov edx, 0x47bbb4
mov eax, esi
call fcn.00429ad0
test al, al
je 0x47b760
mov edx, 0x47bbb4
mov eax, esi
call fcn.004299a0
mov dword [ebp - 0xc], eax
mov edx, 0x47bbc4
mov eax, esi
call fcn.00429ad0
test al, al
je 0x47b781
mov edx, 0x47bbc4
mov eax, esi
call fcn.004299dc
mov byte [0x47ff58], al
lea edx, [ebp - 0x10]
mov eax, 1
call fcn.004029f4
mov eax, dword [ebp - 0x10]
mov edx, 0x47bbd8
call fcn.004044cc
jne 0x47b7f6
call fcn.00402a58
mov eax, dword [0x4803ac]
mov eax, dword [eax]
call fcn.00450630
mov edx, dword [0x482464]
sub eax, dword [edx + 0x48]
sub eax, 5
call fcn.00402d14
mov edx, eax
mov eax, dword [0x482464]
call fcn.00431cfc
mov eax, dword [0x4803ac]
mov eax, dword [eax]
call fcn.00450604
mov edx, dword [0x482464]
sub eax, dword [edx + 0x4c]
call fcn.00402d14
mov edx, eax
mov eax, dword [0x482464]
call fcn.00431d20
jmp 0x47b902
mov edx, 0x47bbe4
mov eax, esi
call fcn.00429ad0
test al, al
je 0x47b8bb
mov edx, 0x47bbf0
mov eax, esi
call fcn.00429ad0
test al, al
je 0x47b8bb
mov edx, 0x47bbe4
mov eax, esi
call fcn.004299a0
mov edx, eax
mov eax, dword [0x482464]
call fcn.00431d20
mov edx, 0x47bbf0
mov eax, esi
call fcn.004299a0
mov edx, eax
mov eax, dword [0x482464]
call fcn.00431cfc
mov eax, dword [0x482464]
cmp dword [eax + 0x40], 0xffffffba
jl 0x47b873
mov eax, dword [0x4803ac]
mov eax, dword [eax]
call fcn.0044f6cc
sub eax, 0x1e
mov edx, dword [0x482464]
cmp eax, dword [edx + 0x40]
jge 0x47b882
mov edx, 0x226
mov eax, dword [0x482464]
call fcn.00431cfc
mov eax, dword [0x482464]
cmp dword [eax + 0x44], 0xffffff74
jl 0x47b8aa
mov eax, dword [0x4803ac]
mov eax, dword [eax]
call fcn.0044f6c0
sub eax, 0x1e
mov edx, dword [0x482464]
cmp eax, dword [edx + 0x44]
jge 0x47b902
mov edx, 0x15e
mov eax, dword [0x482464]
call fcn.00431d20
jmp 0x47b902
mov byte [ebp - 1], 1
mov eax, dword [0x4803ac]
mov eax, dword [eax]
call fcn.00450630
mov edx, eax
mov eax, dword [0x482464]
sub edx, dword [eax + 0x48]
sub edx, 5
mov eax, dword [0x482464]
call fcn.00431cfc
mov eax, dword [0x4803ac]
mov eax, dword [eax]
call fcn.00450604
mov edx, eax
mov eax, dword [0x482464]
sub edx, dword [eax + 0x4c]
mov eax, dword [0x482464]
call fcn.00431d20
mov eax, esi
call fcn.00429580
mov edx, 0x47bc00
mov eax, esi
call fcn.00429738
test al, al
je 0x47b93f
cmp byte [ebp - 1], 0
jne 0x47b938
mov edx, 0x47bc38
mov eax, esi
call fcn.00429ad0
mov edx, eax
mov eax, dword [edi + 0x334]
call fcn.00443e4c
mov eax, esi
call fcn.00429580
mov eax, esi
call fcn.00403370
test bl, bl
jne 0x47b960
mov dl, 1
mov eax, dword [edi + 0x308]
call fcn.00443e4c
xor edx, edx
mov eax, edi
call fcn.0047bfcc
cmp bl, 1
jne 0x47b97b
mov dl, 1
mov eax, dword [edi + 0x30c]
call fcn.00443e4c
xor edx, edx
mov eax, edi
call fcn.0047bfd4
cmp bl, 2
jne 0x47b996
mov dl, 1
mov eax, dword [edi + 0x310]
call fcn.00443e4c
xor edx, edx
mov eax, edi
call fcn.0047bfdc
cmp bl, 3
jne 0x47b9b1
mov dl, 1
mov eax, dword [edi + 0x314]
call fcn.00443e4c
xor edx, edx
mov eax, edi
call fcn.0047bfe4
cmp bl, 4
jne 0x47b9cc
mov dl, 1
mov eax, dword [edi + 0x318]
call fcn.00443e4c
xor edx, edx
mov eax, edi
call fcn.0047bfec
cmp bl, 5
jne 0x47b9e7
mov dl, 1
mov eax, dword [edi + 0x31c]
call fcn.00443e4c
xor edx, edx
mov eax, edi
call fcn.0047bff4
cmp bl, 6
jne 0x47ba02
mov dl, 1
mov eax, dword [edi + 0x320]
call fcn.00443e4c
xor edx, edx
mov eax, edi
call fcn.0047bffc
cmp bl, 7
jne 0x47ba1d
mov dl, 1
mov eax, dword [edi + 0x324]
call fcn.00443e4c
xor edx, edx
mov eax, edi
call fcn.0047c004
cmp bl, 8
jne 0x47ba38
mov dl, 1
mov eax, dword [edi + 0x328]
call fcn.00443e4c
xor edx, edx
mov eax, edi
call fcn.0047c00c
cmp bl, 9
jne 0x47ba53
mov dl, 1
mov eax, dword [edi + 0x32c]
call fcn.00443e4c
xor edx, edx
mov eax, edi
call fcn.0047c014
cmp dword [ebp - 8], 0
jne 0x47ba66
mov dl, 1
mov eax, dword [edi + 0x38c]
call fcn.00443e4c
cmp dword [ebp - 8], 1
jne 0x47ba79
mov dl, 1
mov eax, dword [edi + 0x390]
call fcn.00443e4c
cmp dword [ebp - 8], 2
jne 0x47ba8c
mov dl, 1
mov eax, dword [edi + 0x394]
call fcn.00443e4c
cmp dword [ebp - 0xc], 0
jne 0x47baa8
mov dl, 1
mov eax, dword [edi + 0x3d4]
call fcn.00443e4c
xor edx, edx
mov eax, edi
call fcn.0047c088
cmp dword [ebp - 0xc], 1
jne 0x47bac4
mov dl, 1
mov eax, dword [edi + 0x3d8]
call fcn.00443e4c
xor edx, edx
mov eax, edi
call fcn.0047c0b4
cmp dword [ebp - 0xc], 2
jne 0x47bae0
mov dl, 1
mov eax, dword [edi + 0x3dc]
call fcn.00443e4c
xor edx, edx
mov eax, edi
call fcn.0047c0e0
cmp dword [ebp - 0xc], 3
jne 0x47bafc
mov dl, 1
mov eax, dword [edi + 0x3e0]
call fcn.00443e4c
xor edx, edx
mov eax, edi
call fcn.0047c10c
mov dl, byte [0x47ff58]
mov eax, dword [edi + 0x3e8]
call fcn.00443e4c
xor edx, edx
mov eax, edi
call fcn.0047b608
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47bb33
lea eax, [ebp - 0x10]
call fcn.004040c0
ret