Function at 0x4c8380
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6d4db0
mov eax, dword fs:[0]
push eax
mov eax, 0x10a4
call fcn.00669ec0
mov eax, dword [0x80236c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10b0], esi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x10ac], 0
call fcn.004bf640
test al, al
je 0x4c84cb
mov ecx, edi
call fcn.004c7cd0
mov ecx, edi
call fcn.004c7900
test eax, eax
je 0x4c8490
lea edx, [eax + str.error_generating_mkey:]
mov dword [ebp - 0x1080], 0
mov ecx, edx
mov dword [ebp - 0x107c], 0xf
mov byte [ebp - 0x1090], 0
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c8410
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x1090]
call fcn.0049d6d0
cmp dword [ebp - 0x107c], 0x10
lea eax, [ebp - 0x1090]
mov dword [ebp - 4], 0
cmovae eax, dword [ebp - 0x1090]
push eax
push 2
call fcn.004c6620
mov edx, dword [ebp - 0x107c]
add esp, 8
cmp edx, 0x10
jb 0x4c8486
mov ecx, dword [ebp - 0x1090]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c847c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c8c25
push edx
push ecx
call fcn.00669b1d
add esp, 8
mov eax, 0xd
jmp 0x4c8c08
mov ecx, esi
call fcn.004c8240
test al, al
mov ecx, edi
sete al
movzx eax, al
push eax
call fcn.004c7d90
test eax, eax
je 0x4c84c4
push str.Created_a_new_machine_key__but_verification_failed
push 2
call fcn.004c6620
add esp, 8
mov eax, 0xd
jmp 0x4c8c08
xor eax, eax
jmp 0x4c8c08
mov dword [ebp - 0x1098], 0
mov dword [ebp - 0x1094], 0xf
mov byte [ebp - 0x10a8], 0
lea eax, [ebp - 0x10a8]
mov dword [ebp - 4], 1
push eax
call fcn.004c7e70
add esp, 4
mov eax, dword [ebp - 0x1098]
lea ecx, [ebp - 0x1090]
inc eax
mov byte [ebp - 4], 2
push eax
mov dword [ebp - 0x1080], 0
mov dword [ebp - 0x107c], 0xf
mov byte [ebp - 0x1090], 0
mov dword [ebp - 0x10ac], 1
call fcn.004ad040
cmp dword [ebp - 0x1094], 0x10
lea eax, [ebp - 0x10a8]
push dword [ebp - 0x1098]
cmovae eax, dword [ebp - 0x10a8]
lea ecx, [ebp - 0x1090]
push eax
call fcn.0049a4d0
push 1
push 0x7257e0
lea ecx, [ebp - 0x1090]
call fcn.0049a4d0
push 0xb
push str.Adobe01.bmp
lea ecx, [ebp - 0x1090]
call fcn.0049a4d0
mov dword [ebp - 0x1068], 0
mov dword [ebp - 0x1064], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1078], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1068], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [ebp - 0x107c]
mov byte [ebp - 4], 4
cmp edx, 0x10
jb 0x4c85fc
mov ecx, dword [ebp - 0x1090]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c85f2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c8c2a
push edx
push ecx
call fcn.00669b1d
add esp, 8
cmp dword [ebp - 0x1064], 0x10
lea eax, [ebp - 0x1078]
mov dword [ebp - 0x1080], 0
cmovae eax, dword [ebp - 0x1078]
push eax
mov dword [ebp - 0x107c], 0xf
mov byte [ebp - 0x1090], 0
call fcn.004c1a40
add esp, 4
test eax, eax
je 0x4c8863
cmp dword [ebp - 0x1064], 0x10
lea eax, [ebp - 0x1078]
mov ecx, edi
cmovae eax, dword [ebp - 0x1078]
push eax
call fcn.004c7bd0
test eax, eax
jne 0x4c86a5
mov ecx, esi
call fcn.004c8240
test al, al
mov ecx, edi
sete al
movzx eax, al
push eax
call fcn.004c7d90
test eax, eax
je 0x4c8b79
cmp eax, 0xfffffffb
jne 0x4c8688
mov dword [esi + 0xc], eax
jmp 0x4c873a
cmp eax, 0xfffffff5
jne 0x4c86a5
push str.mkey_error__hardware_malfunctioning_detected.
push 2
call fcn.004c6620
mov dword [esi + 0xc], 0xfffffff5
jmp 0x4c8737
push 0x1e
push str.Unexpeted_mkey_error_deteced:
lea ecx, [ebp - 0x1060]
mov dword [ebp - 0x1050], 0
mov dword [ebp - 0x104c], 0xf
mov byte [ebp - 0x1060], 0
call fcn.0049d6d0
cmp dword [ebp - 0x104c], 0x10
lea eax, [ebp - 0x1060]
mov byte [ebp - 4], 5
cmovae eax, dword [ebp - 0x1060]
push eax
push 2
call fcn.004c6620
mov edx, dword [ebp - 0x104c]
add esp, 8
mov dword [esi + 0xc], 0xfffffff7
mov byte [ebp - 4], 4
cmp edx, 0x10
jb 0x4c873a
mov ecx, dword [ebp - 0x1060]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c8730
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c8c2f
push edx
push ecx
call fcn.00669b1d
add esp, 8
cmp dword [ebp - 0x1064], 0x10
lea eax, [ebp - 0x1078]
cmovae eax, dword [ebp - 0x1078]
push eax
call fcn.004c1e00
add esp, 4
mov dword [ebp - 0x1050], 0
mov dword [ebp - 0x104c], 0xf
lea ecx, [ebp - 0x1060]
mov byte [ebp - 0x1060], 0
test eax, eax
je 0x4c87ef
push 0x19
push str.error_deleting_bad_mkey:
call fcn.0049d6d0
cmp dword [ebp - 0x104c], 0x10
lea eax, [ebp - 0x1060]
mov byte [ebp - 4], 6
cmovae eax, dword [ebp - 0x1060]
push eax
push 2
call fcn.004c6620
mov edx, dword [ebp - 0x104c]
add esp, 8
cmp edx, 0x10
jb 0x4c87e5
mov ecx, dword [ebp - 0x1060]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c87db
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c8c34
push edx
push ecx
call fcn.00669b1d
add esp, 8
mov esi, 0x13
jmp 0x4c8b7b
push 0x1d
push str.mkey_was_bad__regenerating_it
call fcn.0049d6d0
cmp dword [ebp - 0x104c], 0x10
lea eax, [ebp - 0x1060]
mov byte [ebp - 4], 7
cmovae eax, dword [ebp - 0x1060]
push eax
push 4
call fcn.004c6620
add esp, 8
mov ecx, edi
call fcn.004c7cd0
mov edx, dword [ebp - 0x104c]
mov byte [ebp - 4], 4
cmp edx, 0x10
jb 0x4c8863
mov ecx, dword [ebp - 0x1060]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c8859
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c8c39
push edx
push ecx
call fcn.00669b1d
add esp, 8
push 0x1038
lea eax, [ebp - 0x1048]
push 0x72b370
push eax
call fcn.0067f100
cmp dword [ebp - 0x1094], 0x10
lea eax, [ebp - 0x10a8]
cmovae eax, dword [ebp - 0x10a8]
push eax
call fcn.004c1a40
add esp, 0x10
test eax, eax
jne 0x4c88c0
cmp dword [ebp - 0x1094], 0x10
lea eax, [ebp - 0x10a8]
mov ecx, esi
cmovae eax, dword [ebp - 0x10a8]
push eax
call fcn.004c8e10
mov esi, eax
test esi, esi
jne 0x4c8b7b
cmp dword [ebp - 0x1064], 0x10
lea eax, [ebp - 0x1078]
push 0x72b1d8
cmovae eax, dword [ebp - 0x1078]
push eax
call fcn.004c1a70
add esp, 8
mov dword [ebp - 0x10ac], eax
test eax, eax
jne 0x4c897f
push 0x18
push str.error_creating_mkey_file
lea ecx, [ebp - 0x1060]
mov dword [ebp - 0x1050], eax
mov dword [ebp - 0x104c], 0xf
mov byte [ebp - 0x1060], al
call fcn.0049d6d0
cmp dword [ebp - 0x104c], 0x10
lea eax, [ebp - 0x1060]
mov byte [ebp - 4], 8
cmovae eax, dword [ebp - 0x1060]
push eax
push 2
call fcn.004c6620
mov edx, dword [ebp - 0x104c]
add esp, 8
cmp edx, 0x10
jb 0x4c8975
mov ecx, dword [ebp - 0x1060]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c896b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c8c3e
push edx
push ecx
call fcn.00669b1d
add esp, 8
mov esi, 0x11
jmp 0x4c8b7b
push eax
push 0x1038
lea eax, [ebp - 0x1048]
push 1
push eax
call fcn.0069a25c
push dword [ebp - 0x10ac]
mov esi, eax
call fcn.00689584
add esp, 0x14
cmp esi, 0x1038
je 0x4c8a43
push 0x17
push str.error_writing_mkey_file
lea ecx, [ebp - 0x1060]
mov dword [ebp - 0x1050], 0
mov dword [ebp - 0x104c], 0xf
mov byte [ebp - 0x1060], 0
call fcn.0049d6d0
cmp dword [ebp - 0x104c], 0x10
lea eax, [ebp - 0x1060]
mov byte [ebp - 4], 9
cmovae eax, dword [ebp - 0x1060]
push eax
push 2
call fcn.004c6620
mov edx, dword [ebp - 0x104c]
add esp, 8
cmp edx, 0x10
jb 0x4c8a39
mov ecx, dword [ebp - 0x1060]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c8a2f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c8c43
push edx
push ecx
call fcn.00669b1d
add esp, 8
mov esi, 0x12
jmp 0x4c8b7b
mov ecx, edi
call fcn.004c7900
test eax, eax
je 0x4c8a98
lea eax, [eax + str.error_generating_mkey:]
push eax
lea ecx, [ebp - 0x1060]
call fcn.004c4740
cmp dword [ebp - 0x104c], 0x10
lea eax, [ebp - 0x1060]
mov byte [ebp - 4], 0xa
cmovae eax, dword [ebp - 0x1060]
push eax
push 2
call fcn.004c6620
add esp, 8
lea ecx, [ebp - 0x1060]
call fcn.00487aa0
mov esi, 0xd
jmp 0x4c8b7b
cmp dword [ebp - 0x1064], 0x10
lea esi, [ebp - 0x1078]
lea ecx, [ebp - 0x1078]
cmovae esi, dword [ebp - 0x1078]
cmovae ecx, dword [ebp - 0x1078]
push esi
push ecx
mov ecx, edi
call fcn.004c7ce0
test eax, eax
je 0x4c8b0d
lea eax, [eax + str.error_storing_mkey:]
push eax
lea ecx, [ebp - 0x1060]
call fcn.004c4740
cmp dword [ebp - 0x104c], 0x10
lea eax, [ebp - 0x1060]
mov byte [ebp - 4], 0xb
cmovae eax, dword [ebp - 0x1060]
push eax
push 2
call fcn.004c6620
add esp, 8
lea ecx, [ebp - 0x1060]
call fcn.00487aa0
mov esi, 0xd
jmp 0x4c8b7b
mov ecx, dword [ebp - 0x10b0]
call fcn.004c8240
test al, al
mov ecx, edi
sete al
movzx eax, al
push eax
call fcn.004c7d90
test eax, eax
je 0x4c8b42
push str.Created_a_new_machine_key__but_verification_failed
push 2
call fcn.004c6620
add esp, 8
mov esi, 0xd
jmp 0x4c8b7b
cmp dword [ebp - 0x1064], 0x10
lea eax, [ebp - 0x1078]
cmovae eax, dword [ebp - 0x1078]
push eax
call fcn.004c2360
add esp, 4
test al, al
jne 0x4c8b79
push str.Couldnt_update_the_perms_on_the_machine_key
push 2
call fcn.004c6620
add esp, 8
mov esi, 0x16
jmp 0x4c8b7b
xor esi, esi
mov edx, dword [ebp - 0x1064]
cmp edx, 0x10
jb 0x4c8bb5
mov ecx, dword [ebp - 0x1078]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c8bab
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c8c48
push edx
push ecx
call fcn.00669b1d
add esp, 8
mov edx, dword [ebp - 0x1094]
mov dword [ebp - 0x1068], 0
mov dword [ebp - 0x1064], 0xf
mov byte [ebp - 0x1078], 0
cmp edx, 0x10
jb 0x4c8c06
mov ecx, dword [ebp - 0x10a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4c8bfc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c8c48
push edx
push ecx
call fcn.00669b1d
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00669adc
mov esp, ebp
pop ebp
ret 4
call fcn.006892c4
call fcn.006892c4
call fcn.006892c4
call fcn.006892c4
call fcn.006892c4
call fcn.006892c4
call fcn.006892c4
call fcn.006892c4
int3