Function at 0x73be54
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x14
push 0
push 0
dec ecx
jne 0x73be5c
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x73c914
push dword fs:[eax]
mov dword fs:[eax], esp
inc dword [0x7ce490]
cmp byte [0x7d753b], 0
je 0x73c0f3
xor eax, eax
push ebp
push 0x73c0e9
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x7d7536], 0
jne 0x73c00d
mov edx, 0x73c934
mov eax, 0x80000003
call fcn.0073b34c
mov edx, 0x73c9b0
mov eax, 0x80000002
call fcn.0073b34c
mov edx, 0x73ca18
mov eax, 0x80000002
call fcn.0073b34c
mov edx, 0x73c9b0
mov eax, 0x80000001
call fcn.0073b34c
mov edx, 0x73ca98
mov eax, 0x80000002
call fcn.0073b34c
mov edx, 0x73cb08
mov eax, 0x80000002
call fcn.0073b34c
mov edx, 0x73ca98
mov eax, 0x80000001
call fcn.0073b34c
mov edx, 0x73cb90
mov eax, 0x80000002
call fcn.0073b34c
mov edx, 0x73cc04
mov eax, 0x80000002
call fcn.0073b34c
mov edx, 0x73cb90
mov eax, 0x80000001
call fcn.0073b34c
mov edx, 0x73cc90
mov eax, 0x80000002
call fcn.0073b34c
mov edx, 0x73cd08
mov eax, 0x80000002
call fcn.0073b34c
mov edx, 0x73cc90
mov eax, 0x80000001
call fcn.0073b34c
mov edx, 0x73cd98
mov eax, 0x80000002
call fcn.0073b34c
mov edx, 0x73ce18
mov eax, 0x80000002
call fcn.0073b34c
mov edx, 0x73cd98
mov eax, 0x80000001
call fcn.0073b34c
mov edx, 0x73ceb0
mov eax, 0x80000002
call fcn.0073b34c
mov edx, 0x73ceb0
mov eax, 0x80000001
call fcn.0073b34c
xor eax, eax
push ebp
push 0x73bfd3
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00739c7c
call fcn.0073a340
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x73bfdd
call fcn.0067c0d0
test al, al
jne 0x73bfeb
call fcn.0073a6d8
mov edx, dword [0x7d7508]
mov eax, 1
call fcn.0073b508
mov edx, dword [0x7d750c]
mov eax, 2
call fcn.0073b508
jmp 0x73c03b
call fcn.00437080
push eax
lea eax, [ebp - 0x30]
mov ecx, 0x73cf3c
mov edx, dword [0x7d7514]
call fcn.0040b330
mov edx, dword [ebp - 0x30]
mov eax, dword [0x7d754c]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x70]
mov byte [0x7d7536], 0
mov eax, dword [0x7d7550]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x73c0c5
lea edx, [ebp - 0x34]
mov eax, dword [0x7d754c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x34]
push eax
lea edx, [ebp - 0x38]
mov eax, dword [0x7d7550]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0x38]
pop eax
call fcn.0040b468
je 0x73c0c5
mov eax, dword [0x7d754c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x73c0c5
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x3c]
mov edx, ebx
mov eax, dword [0x7d754c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x7d7550]
mov ecx, dword [eax]
call dword [ecx + 0x58]
inc eax
jne 0x73c0c1
lea ecx, [ebp - 0x40]
mov edx, ebx
mov eax, dword [0x7d754c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x40]
mov eax, dword [0x7d7574]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
inc ebx
dec esi
jne 0x73c086
mov edx, dword [0x7d754c]
mov eax, dword [0x7d7550]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [0x7d754c]
mov edx, dword [eax]
call dword [edx + 0x48]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x73c0f3
cmp byte [0x7d753c], 0
je 0x73c2e9
xor eax, eax
push ebp
push 0x73c2df
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x7d7537], 0
jne 0x73c11e
call fcn.0073b7b8
jmp 0x73c14c
call fcn.00437080
push eax
lea eax, [ebp - 0x44]
mov ecx, 0x73cf60
mov edx, dword [0x7d7514]
call fcn.0040b330
mov edx, dword [ebp - 0x44]
mov eax, dword [0x7d7554]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x70]
mov byte [0x7d7537], 0
mov eax, dword [0x7d7558]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x73c2c5
lea edx, [ebp - 0x48]
mov eax, dword [0x7d7554]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x48]
push eax
lea edx, [ebp - 0x4c]
mov eax, dword [0x7d7558]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0x4c]
pop eax
call fcn.0040b468
je 0x73c2c5
mov eax, dword [0x7d7554]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x73c2c5
inc esi
xor ebx, ebx
lea ecx, [ebp - 4]
mov edx, ebx
mov eax, dword [0x7d7554]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x73cf88
call fcn.0040b5f4
mov dword [ebp - 0x14], eax
mov edi, dword [ebp - 4]
test edi, edi
je 0x73c1d1
mov edi, dword [edi - 4]
lea eax, [ebp - 4]
push eax
mov edx, dword [ebp - 0x14]
inc edx
mov ecx, edi
mov eax, dword [ebp - 4]
call fcn.0040b4a0
mov ecx, 1
mov edi, dword [ebp - 4]
mov edx, edi
mov eax, 0x73cf88
call fcn.0040b5f4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp - 0x18]
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.0040b4a0
mov ecx, 1
mov edx, edi
mov eax, 0x73cf98
call fcn.0040b5f4
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp - 0x1c]
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.0040b4a0
mov ecx, 1
mov edx, edi
mov eax, 0x73cf88
call fcn.0040b5f4
mov dword [ebp - 0x20], eax
mov edi, dword [ebp - 4]
test edi, edi
je 0x73c256
mov edi, dword [edi - 4]
lea eax, [ebp - 0xc]
push eax
mov edx, dword [ebp - 0x20]
inc edx
mov ecx, edi
mov eax, dword [ebp - 4]
call fcn.0040b4a0
lea ecx, [ebp - 0x50]
mov edx, ebx
mov eax, dword [0x7d7554]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x50]
mov eax, dword [0x7d7558]
mov ecx, dword [eax]
call dword [ecx + 0x58]
inc eax
jne 0x73c2bd
lea eax, [ebp - 0x54]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.0040b330
mov eax, dword [ebp - 0x54]
call fcn.0073bae8
test al, al
je 0x73c2bd
lea ecx, [ebp - 0x58]
mov edx, ebx
mov eax, dword [0x7d7554]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x58]
mov eax, dword [0x7d7574]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
inc ebx
dec esi
jne 0x73c1a3
mov edx, dword [0x7d7554]
mov eax, dword [0x7d7558]
mov ecx, dword [eax]
call dword [ecx + 8]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x73c2e9
cmp byte [0x7d753d], 0
je 0x73c432
mov eax, dword [0x7ce490]
and eax, 0x80000001
jns 0x73c307
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x73c432
xor eax, eax
push ebp
push 0x73c428
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [0x7ce490], eax
cmp byte [0x7d7534], 0
je 0x73c37a
cmp byte [0x7d7538], 0
jne 0x73c34c
mov eax, dword [0x7d7530]
mov edx, dword [eax]
call dword [edx + 0x48]
mov eax, 0x73cfa8
call fcn.00734e34
jmp 0x73c37a
call fcn.00437080
push eax
lea eax, [ebp - 0x5c]
mov ecx, 0x73d040
mov edx, dword [0x7d7514]
call fcn.0040b330
mov edx, dword [ebp - 0x5c]
mov eax, dword [0x7d755c]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x70]
mov byte [0x7d7538], 0
mov eax, dword [0x7d7560]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x73c404
lea edx, [ebp - 0x60]
mov eax, dword [0x7d755c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x60]
push eax
lea edx, [ebp - 0x64]
mov eax, dword [0x7d7560]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0x64]
pop eax
call fcn.0040b468
je 0x73c404
mov eax, dword [0x7d755c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x73c404
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x68]
mov edx, ebx
mov eax, dword [0x7d755c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x68]
mov eax, dword [0x7d7560]
mov ecx, dword [eax]
call dword [ecx + 0x58]
inc eax
jne 0x73c400
lea ecx, [ebp - 0x6c]
mov edx, ebx
mov eax, dword [0x7d755c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x6c]
mov eax, dword [0x7d7574]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
inc ebx
dec esi
jne 0x73c3c5
mov edx, dword [0x7d755c]
mov eax, dword [0x7d7560]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [0x7d755c]
mov edx, dword [eax]
call dword [edx + 0x48]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x73c432
cmp byte [0x7d753e], 0
je 0x73c72b
xor eax, eax
push ebp
push 0x73c721
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x7d7539], 0
jne 0x73c52e
mov eax, 0x73d060
call fcn.00735084
mov eax, 0x73d07c
call fcn.0073551c
mov eax, 0x73d0c4
call fcn.0073551c
mov eax, 0x73d108
call fcn.00735084
mov eax, 0x73d14c
call fcn.0073551c
mov eax, 0x73d1bc
call fcn.00735084
mov eax, 0x73d1e8
call fcn.0073551c
mov eax, 0x73d240
call fcn.00735084
mov eax, 0x73d268
call fcn.0073551c
mov eax, 0x73d2bc
call fcn.00735084
mov eax, 0x73d2e0
call fcn.0073551c
mov eax, 0x73d330
call fcn.00735084
mov eax, 0x73d358
call fcn.0073551c
mov eax, 0x73d3ac
call fcn.00735084
mov eax, 0x73d3d4
call fcn.0073551c
mov eax, 0x73d428
call fcn.00735084
mov eax, 0x73d49c
call fcn.0073551c
mov eax, 0x73d53c
call fcn.00735084
mov eax, 0x73d580
call fcn.0073551c
mov eax, 0x73d5f0
call fcn.00735084
mov eax, 0x73d62c
call fcn.0073551c
jmp 0x73c55c
call fcn.00437080
push eax
lea eax, [ebp - 0x70]
mov ecx, 0x73d694
mov edx, dword [0x7d7514]
call fcn.0040b330
mov edx, dword [ebp - 0x70]
mov eax, dword [0x7d7564]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x70]
mov byte [0x7d7539], 0
mov eax, dword [0x7d7568]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x73c6fd
lea edx, [ebp - 0x74]
mov eax, dword [0x7d7564]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x74]
push eax
lea edx, [ebp - 0x78]
mov eax, dword [0x7d7568]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0x78]
pop eax
call fcn.0040b468
je 0x73c6fd
mov eax, dword [0x7d7564]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x73c6fd
inc esi
xor ebx, ebx
lea ecx, [ebp - 4]
mov edx, ebx
mov eax, dword [0x7d7564]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x73cf88
call fcn.0040b5f4
mov dword [ebp - 0x24], eax
mov edi, dword [ebp - 4]
test edi, edi
je 0x73c5e1
mov edi, dword [edi - 4]
lea eax, [ebp - 4]
push eax
mov edx, dword [ebp - 0x24]
inc edx
mov ecx, edi
mov eax, dword [ebp - 4]
call fcn.0040b4a0
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x73cf88
call fcn.0040b5f4
mov edi, eax
lea eax, [ebp - 8]
push eax
mov ecx, edi
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.0040b4a0
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x73cf88
call fcn.0040b5f4
mov dword [ebp - 0x28], eax
mov edi, dword [ebp - 4]
test edi, edi
je 0x73c63a
mov edi, dword [edi - 4]
lea eax, [ebp - 4]
push eax
mov edx, dword [ebp - 0x28]
inc edx
mov ecx, edi
mov eax, dword [ebp - 4]
call fcn.0040b4a0
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x73cf88
call fcn.0040b5f4
mov dword [ebp - 0x2c], eax
mov edi, dword [ebp - 4]
test edi, edi
je 0x73c66b
mov edi, dword [edi - 4]
lea eax, [ebp - 4]
push eax
mov edx, dword [ebp - 0x2c]
inc edx
mov ecx, edi
mov eax, dword [ebp - 4]
call fcn.0040b4a0
mov edi, dword [ebp - 4]
test edi, edi
je 0x73c687
mov edi, dword [edi - 4]
lea eax, [ebp - 0xc]
push eax
mov ecx, edi
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.0040b4a0
lea ecx, [ebp - 0x7c]
mov edx, ebx
mov eax, dword [0x7d7564]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x7c]
mov eax, dword [0x7d7568]
mov ecx, dword [eax]
call dword [ecx + 0x58]
inc eax
jne 0x73c6f5
lea eax, [ebp - 0x80]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.0040b330
mov eax, dword [ebp - 0x80]
call fcn.0073bc94
test al, al
je 0x73c6f5
lea ecx, [ebp - 0x84]
mov edx, ebx
mov eax, dword [0x7d7564]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x84]
mov eax, dword [0x7d7574]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
inc ebx
dec esi
jne 0x73c5b3
mov edx, dword [0x7d7564]
mov eax, dword [0x7d7568]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [0x7d7564]
mov edx, dword [eax]
call dword [edx + 0x48]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x73c72b
cmp byte [0x7d753f], 0
je 0x73c8e7
xor eax, eax
push ebp
push 0x73c8dd
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x7d753a], 0
jne 0x73c76f
mov edx, 0x73d6bc
mov eax, 0x80000001
call fcn.0073b188
mov edx, 0x73d740
mov eax, 0x80000001
call fcn.0073b188
jmp 0x73c7a3
call fcn.00437080
push eax
lea eax, [ebp - 0x88]
mov ecx, 0x73d7c0
mov edx, dword [0x7d7514]
call fcn.0040b330
mov edx, dword [ebp - 0x88]
mov eax, dword [0x7d756c]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x70]
mov byte [0x7d753a], 0
mov eax, dword [0x7d7570]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x73c8b9
lea edx, [ebp - 0x8c]
mov eax, dword [0x7d756c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x8c]
push eax
lea edx, [ebp - 0x90]
mov eax, dword [0x7d7570]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0x90]
pop eax
call fcn.0040b468
je 0x73c8b9
mov eax, dword [0x7d756c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x73c8b9
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x94]
mov edx, ebx
mov eax, dword [0x7d756c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x94]
mov eax, dword [0x7d7570]
mov ecx, dword [eax]
call dword [ecx + 0x58]
inc eax
jne 0x73c8b1
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x9c]
mov edx, ebx
mov eax, dword [0x7d756c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x9c]
mov eax, 0x73cf88
call fcn.00427c8c
inc eax
push eax
lea ecx, [ebp - 0xa0]
mov edx, ebx
mov eax, dword [0x7d756c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xa0]
mov ecx, 1
pop edx
call fcn.0040b4a0
mov eax, dword [ebp - 0x98]
mov edx, 0x73d7e8
call fcn.0040b468
jne 0x73c8b1
lea ecx, [ebp - 0xa4]
mov edx, ebx
mov eax, dword [0x7d756c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0xa4]
mov eax, dword [0x7d7574]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
inc ebx
dec esi
jne 0x73c806
mov edx, dword [0x7d756c]
mov eax, dword [0x7d7570]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [0x7d756c]
mov edx, dword [eax]
call dword [edx + 0x48]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x73c8e7
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x73c91b
lea eax, [ebp - 0xa4]
mov edx, 0x1e
call fcn.0040a494
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.0040a494
pop eax
jmp eax