Function at 0x10014220
Capabilities:
Manipulate boot configuration
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10035fbd
mov eax, dword fs:[0]
push eax
sub esp, 0x66c
mov eax, dword [0x1004c024]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x638], ecx
cmp dword [ebp + 8], 5
jle 0x10014cb3
mov dword [ebp - 0x170], 0x1003989c
mov byte [ebp - 0x16c], 0
push 0x3f
push 0
lea eax, [ebp - 0x16b]
push eax
call sub.ntdll.dll_memset
add esp, 0xc
mov ecx, dword [ebp - 0x170]
push ecx
call sub.ntdll.dll_strlen
add esp, 4
mov dword [ebp - 0x388], eax
mov dword [ebp - 0x174], 0
push 0x100398a4
call sub.ntdll.dll_strlen
add esp, 4
mov dword [ebp - 0x384], eax
push 0x80000
call fcn.1000f6bd
add esp, 4
mov dword [ebp - 0x5e0], eax
mov edx, dword [ebp - 0x5e0]
mov dword [ebp - 0x380], edx
push 0x80000
push 0
mov eax, dword [ebp - 0x380]
push eax
call sub.ntdll.dll_memset
add esp, 0xc
mov dword [ebp - 0x394], 0xffffffff
mov dword [ebp - 0x37c], 0xffffffff
mov dword [ebp - 0x390], 0xffffffff
mov dword [ebp - 0x378], 0xffffffff
lea ecx, [ebp - 0x128]
call fcn.1002fcd0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x394]
push ecx
lea edx, [ebp - 0x378]
push edx
lea ecx, [ebp - 0x128]
call fcn.1002fbe0
test eax, eax
jne 0x100143e1
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x63c], eax
push 0x1b1
push 0x100398b4
call fcn.10010f00
add esp, 8
push eax
push 0x100398c4
mov eax, dword [ebp - 0x63c]
push eax
mov ecx, dword [ebp - 0x63c]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
add esp, 0xc
mov ecx, dword [ebp - 0x394]
push ecx
mov edx, dword [ebp - 0x378]
push edx
mov eax, dword [ebp - 0x390]
push eax
mov ecx, dword [ebp - 0x37c]
push ecx
call fcn.10010ed0
add esp, 0x10
mov edx, dword [ebp - 0x380]
mov dword [ebp - 0x5e4], edx
mov eax, dword [ebp - 0x5e4]
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
add esp, 4
mov dword [ebp - 0x5e8], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x128]
call fcn.1002fc70
mov eax, dword [ebp - 0x5e8]
jmp 0x10015231
lea ecx, [ebp - 0x390]
push ecx
lea edx, [ebp - 0x37c]
push edx
lea ecx, [ebp - 0x128]
call fcn.1002fb50
test eax, eax
jne 0x100144a2
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x640], eax
push 0x1b8
push 0x100398e4
call fcn.10010f00
add esp, 8
push eax
push str._s:_Craete_write_PIPE_Failed.
mov eax, dword [ebp - 0x640]
push eax
mov ecx, dword [ebp - 0x640]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
add esp, 0xc
mov ecx, dword [ebp - 0x394]
push ecx
mov edx, dword [ebp - 0x378]
push edx
mov eax, dword [ebp - 0x390]
push eax
mov ecx, dword [ebp - 0x37c]
push ecx
call fcn.10010ed0
add esp, 0x10
mov edx, dword [ebp - 0x380]
mov dword [ebp - 0x5ec], edx
mov eax, dword [ebp - 0x5ec]
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
add esp, 4
mov dword [ebp - 0x5f0], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x128]
call fcn.1002fc70
mov eax, dword [ebp - 0x5f0]
jmp 0x10015231
mov ecx, dword [ebp - 0x390]
push ecx
mov edx, dword [ebp - 0x394]
push edx
lea ecx, [ebp - 0x128]
call fcn.1002f8a0
test eax, eax
jne 0x10014563
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x644], eax
push 0x1bf
push 0x10039914
call fcn.10010f00
add esp, 8
push eax
push 0x10039924
mov eax, dword [ebp - 0x644]
push eax
mov ecx, dword [ebp - 0x644]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
add esp, 0xc
mov ecx, dword [ebp - 0x394]
push ecx
mov edx, dword [ebp - 0x378]
push edx
mov eax, dword [ebp - 0x390]
push eax
mov ecx, dword [ebp - 0x37c]
push ecx
call fcn.10010ed0
add esp, 0x10
mov edx, dword [ebp - 0x380]
mov dword [ebp - 0x5f4], edx
mov eax, dword [ebp - 0x5f4]
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
add esp, 4
mov dword [ebp - 0x5f8], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x128]
call fcn.1002fc70
mov eax, dword [ebp - 0x5f8]
jmp 0x10015231
mov byte [ebp - 0x11c], 0
push 0x103
push 0
lea ecx, [ebp - 0x11b]
push ecx
call sub.ntdll.dll_memset
add esp, 0xc
lea edx, [ebp - 0x11c]
push edx
call fcn.10011180
add esp, 4
test eax, eax
jne 0x1001461c
cmp dword [ebp - 0x380], 0
je 0x100145bb
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x5fc], eax
mov ecx, dword [ebp - 0x5fc]
push ecx
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
add esp, 4
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x648], eax
push 0x1ca
push 0x10039940
call fcn.10010f00
add esp, 8
push eax
push str._s:_GetBcdeditProcPath_Failed.
mov edx, dword [ebp - 0x648]
push edx
mov eax, dword [ebp - 0x648]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
call edx
add esp, 0xc
mov dword [ebp - 0x600], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x128]
call fcn.1002fc70
mov eax, dword [ebp - 0x600]
jmp 0x10015231
mov byte [ebp - 0x374], 0
push 0x1ff
push 0
lea eax, [ebp - 0x373]
push eax
call sub.ntdll.dll_memset
add esp, 0xc
mov ecx, dword [ebp + 0x10]
push ecx
lea edx, [ebp - 0x11c]
push edx
push 0x10039970
lea eax, [ebp - 0x374]
push eax
call dword [sym.imp.ntdll.dll_sprintf]
add esp, 0x10
lea ecx, [ebp - 0x374]
push ecx
call sub.ntdll.dll_strlen
add esp, 4
push eax
lea edx, [ebp - 0x374]
push edx
mov eax, dword [ebp - 0x37c]
push eax
lea ecx, [ebp - 0x128]
call fcn.1002fb00
test eax, eax
jne 0x1001476b
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x64c], eax
lea ecx, [ebp - 0x374]
push ecx
push 0x1d2
push 0x10039994
call fcn.10010f00
add esp, 8
push eax
push 0x100399a4
mov edx, dword [ebp - 0x64c]
push edx
mov eax, dword [ebp - 0x64c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
call edx
add esp, 0x10
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x650], eax
push 0x1d3
push 0x100399b4
call fcn.10010f00
add esp, 8
push eax
push 0x100399c4
mov eax, dword [ebp - 0x650]
push eax
mov ecx, dword [ebp - 0x650]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
add esp, 0xc
mov ecx, dword [ebp - 0x394]
push ecx
mov edx, dword [ebp - 0x378]
push edx
mov eax, dword [ebp - 0x390]
push eax
mov ecx, dword [ebp - 0x37c]
push ecx
call fcn.10010ed0
add esp, 0x10
mov edx, dword [ebp - 0x380]
mov dword [ebp - 0x604], edx
mov eax, dword [ebp - 0x604]
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
add esp, 4
mov dword [ebp - 0x608], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x128]
call fcn.1002fc70
mov eax, dword [ebp - 0x608]
jmp 0x10015231
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x174]
push ecx
mov edx, dword [ebp - 0x380]
push edx
mov eax, dword [ebp - 0x378]
push eax
lea ecx, [ebp - 0x128]
call fcn.1002f9c0
test eax, eax
jne 0x1001483e
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x654], eax
push 0x1db
push 0x100399e0
call fcn.10010f00
add esp, 8
push eax
push 0x100399f0
mov ecx, dword [ebp - 0x654]
push ecx
mov edx, dword [ebp - 0x654]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
call ecx
add esp, 0xc
mov edx, dword [ebp - 0x394]
push edx
mov eax, dword [ebp - 0x378]
push eax
mov ecx, dword [ebp - 0x390]
push ecx
mov edx, dword [ebp - 0x37c]
push edx
call fcn.10010ed0
add esp, 0x10
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x60c], eax
mov ecx, dword [ebp - 0x60c]
push ecx
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
add esp, 4
mov dword [ebp - 0x610], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x128]
call fcn.1002fc70
mov eax, dword [ebp - 0x610]
jmp 0x10015231
cmp dword [ebp - 0x174], 0
jg 0x100148eb
mov edx, dword [ebp - 0x394]
push edx
mov eax, dword [ebp - 0x378]
push eax
mov ecx, dword [ebp - 0x390]
push ecx
mov edx, dword [ebp - 0x37c]
push edx
call fcn.10010ed0
add esp, 0x10
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x614], eax
mov ecx, dword [ebp - 0x614]
push ecx
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
add esp, 4
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x658], eax
push 0x1e5
push 0x10039a0c
call fcn.10010f00
add esp, 8
push eax
push str._s:_No_more_data.
mov edx, dword [ebp - 0x658]
push edx
mov eax, dword [ebp - 0x658]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
call edx
add esp, 0xc
mov dword [ebp - 0x618], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x128]
call fcn.1002fc70
mov eax, dword [ebp - 0x618]
jmp 0x10015231
mov dword [ebp - 0x38c], 0
mov dword [ebp - 0x398], 0
jmp 0x10014910
mov eax, dword [ebp - 0x398]
add eax, 1
mov dword [ebp - 0x398], eax
mov ecx, dword [ebp - 0x174]
sub ecx, dword [ebp - 0x388]
cmp dword [ebp - 0x398], ecx
jge 0x10014a2a
mov edx, dword [ebp - 0x388]
push edx
mov eax, dword [ebp - 0x170]
push eax
mov ecx, dword [ebp - 0x380]
add ecx, dword [ebp - 0x398]
push ecx
call dword [sym.imp.ntdll.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x10014a1a
mov edx, dword [ebp - 0x398]
mov dword [ebp - 0x39c], edx
jmp 0x10014971
mov eax, dword [ebp - 0x39c]
add eax, 1
mov dword [ebp - 0x39c], eax
mov ecx, dword [ebp - 0x174]
sub ecx, dword [ebp - 0x388]
cmp dword [ebp - 0x39c], ecx
jge 0x10014a1a
mov edx, dword [ebp - 0x380]
add edx, dword [ebp - 0x39c]
movsx eax, byte [edx]
cmp eax, 0x7b
jne 0x10014a15
lea ecx, [ebp - 0x16c]
mov dword [ebp - 0x3a0], ecx
mov edx, dword [ebp - 0x380]
add edx, dword [ebp - 0x39c]
mov dword [ebp - 0x3a4], edx
mov eax, dword [ebp - 0x3a4]
movsx ecx, byte [eax]
cmp ecx, 0x7d
je 0x100149f9
mov edx, dword [ebp - 0x3a0]
mov eax, dword [ebp - 0x3a4]
mov cl, byte [eax]
mov byte [edx], cl
mov edx, dword [ebp - 0x3a0]
add edx, 1
mov dword [ebp - 0x3a0], edx
mov eax, dword [ebp - 0x3a4]
add eax, 1
mov dword [ebp - 0x3a4], eax
jmp 0x100149bb
mov ecx, dword [ebp - 0x3a0]
mov edx, dword [ebp - 0x3a4]
mov al, byte [edx]
mov byte [ecx], al
mov dword [ebp - 0x38c], 1
jmp 0x10014a1a
jmp 0x10014962
cmp dword [ebp - 0x38c], 0
je 0x10014a25
jmp 0x10014a2a
jmp 0x10014901
push 0x200
push 0
lea ecx, [ebp - 0x374]
push ecx
call sub.ntdll.dll_memset
add esp, 0xc
lea edx, [ebp - 0x16c]
push edx
lea eax, [ebp - 0x11c]
push eax
push 0x10039a30
lea ecx, [ebp - 0x374]
push ecx
call dword [sym.imp.ntdll.dll_sprintf]
add esp, 0x10
lea edx, [ebp - 0x374]
push edx
call sub.ntdll.dll_strlen
add esp, 4
push eax
lea eax, [ebp - 0x374]
push eax
mov ecx, dword [ebp - 0x37c]
push ecx
lea ecx, [ebp - 0x128]
call fcn.1002fb00
test eax, eax
jne 0x10014b75
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x65c], eax
lea edx, [ebp - 0x374]
push edx
push 0x204
push 0x10039a4c
call fcn.10010f00
add esp, 8
push eax
push 0x10039a5c
mov eax, dword [ebp - 0x65c]
push eax
mov ecx, dword [ebp - 0x65c]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
add esp, 0x10
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x660], eax
push 0x205
push 0x10039a6c
call fcn.10010f00
add esp, 8
push eax
push 0x10039a7c
mov ecx, dword [ebp - 0x660]
push ecx
mov edx, dword [ebp - 0x660]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
call ecx
add esp, 0xc
mov edx, dword [ebp - 0x394]
push edx
mov eax, dword [ebp - 0x378]
push eax
mov ecx, dword [ebp - 0x390]
push ecx
mov edx, dword [ebp - 0x37c]
push edx
call fcn.10010ed0
add esp, 0x10
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x61c], eax
mov ecx, dword [ebp - 0x61c]
push ecx
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
add esp, 4
mov dword [ebp - 0x620], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x128]
call fcn.1002fc70
mov eax, dword [ebp - 0x620]
jmp 0x10015231
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea edx, [ebp - 0x174]
push edx
mov eax, dword [ebp - 0x380]
push eax
mov ecx, dword [ebp - 0x378]
push ecx
lea ecx, [ebp - 0x128]
call fcn.1002f9c0
test eax, eax
jne 0x10014c48
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x664], eax
push 0x20d
push 0x10039a98
call fcn.10010f00
add esp, 8
push eax
push 0x10039aa8
mov edx, dword [ebp - 0x664]
push edx
mov eax, dword [ebp - 0x664]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
call edx
add esp, 0xc
mov eax, dword [ebp - 0x394]
push eax
mov ecx, dword [ebp - 0x378]
push ecx
mov edx, dword [ebp - 0x390]
push edx
mov eax, dword [ebp - 0x37c]
push eax
call fcn.10010ed0
add esp, 0x10
mov ecx, dword [ebp - 0x380]
mov dword [ebp - 0x624], ecx
mov edx, dword [ebp - 0x624]
push edx
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
add esp, 4
mov dword [ebp - 0x628], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x128]
call fcn.1002fc70
mov eax, dword [ebp - 0x628]
jmp 0x10015231
mov eax, dword [ebp - 0x394]
push eax
mov ecx, dword [ebp - 0x378]
push ecx
mov edx, dword [ebp - 0x390]
push edx
mov eax, dword [ebp - 0x37c]
push eax
call fcn.10010ed0
add esp, 0x10
mov ecx, dword [ebp - 0x380]
mov dword [ebp - 0x62c], ecx
mov edx, dword [ebp - 0x62c]
push edx
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
add esp, 4
mov dword [ebp - 0x630], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x128]
call fcn.1002fc70
mov eax, dword [ebp - 0x630]
jmp 0x10015231
mov byte [ebp - 0x5c4], 0
push 0xff
push 0
lea eax, [ebp - 0x5c3]
push eax
call sub.ntdll.dll_memset
add esp, 0xc
push 0x10039ac4
call sub.ntdll.dll_strlen
add esp, 4
mov dword [ebp - 0x4c0], eax
push 0x10039acc
call sub.ntdll.dll_strlen
add esp, 4
mov dword [ebp - 0x5c8], eax
mov dword [ebp - 0x3b4], 0
push 0x10039adc
mov ecx, dword [ebp + 0x10]
push ecx
call dword [sym.imp.MSVCR80.dll_fopen]
add esp, 8
mov dword [ebp - 0x3ac], eax
cmp dword [ebp - 0x3ac], 0
jne 0x10014d66
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x668], eax
mov edx, dword [ebp + 0x10]
push edx
push 0x22e
push 0x10039ae0
call fcn.10010f00
add esp, 8
push eax
push 0x10039af0
mov eax, dword [ebp - 0x668]
push eax
mov ecx, dword [ebp - 0x668]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
add esp, 0x10
xor eax, eax
jmp 0x10015231
push 0x100
push 0
lea ecx, [ebp - 0x4bc]
push ecx
call sub.ntdll.dll_memset
add esp, 0xc
mov edx, dword [ebp - 0x3ac]
push edx
push 0x100
lea eax, [ebp - 0x4bc]
push eax
call dword [sym.imp.MSVCR80.dll_fgets]
add esp, 0xc
test eax, eax
je 0x10014e3d
lea ecx, [ebp - 0x4bc]
push ecx
call sub.ntdll.dll_strlen
add esp, 4
mov dword [ebp - 0x5cc], eax
mov dword [ebp - 0x5d0], 0
jmp 0x10014dd0
mov edx, dword [ebp - 0x5d0]
add edx, 1
mov dword [ebp - 0x5d0], edx
mov eax, dword [ebp - 0x5cc]
sub eax, dword [ebp - 0x5c8]
cmp dword [ebp - 0x5d0], eax
jge 0x10014e17
mov ecx, dword [ebp - 0x5c8]
push ecx
push 0x10039b04
mov edx, dword [ebp - 0x5d0]
lea eax, [ebp + edx - 0x4bc]
push eax
call dword [sym.imp.ntdll.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x10014e15
mov dword [ebp - 0x3b4], 1
jmp 0x10014dc1
cmp dword [ebp - 0x3b4], 0
je 0x10014e22
jmp 0x10014e3d
push 0x100
push 0
lea ecx, [ebp - 0x4bc]
push ecx
call sub.ntdll.dll_memset
add esp, 0xc
jmp 0x10014d7c
cmp dword [ebp - 0x3b4], 0
jne 0x10014e97
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x66c], eax
push 0x242
push 0x10039b14
call fcn.10010f00
add esp, 8
push eax
push str._s:_Not_find_boot_loader.
mov edx, dword [ebp - 0x66c]
push edx
mov eax, dword [ebp - 0x66c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
call edx
add esp, 0xc
mov eax, dword [ebp - 0x3ac]
push eax
call dword [sym.imp.MSVCR80.dll_fclose]
add esp, 4
xor eax, eax
jmp 0x10015231
mov dword [ebp - 0x3a8], 0
push 0x100
push 0
lea ecx, [ebp - 0x4bc]
push ecx
call sub.ntdll.dll_memset
add esp, 0xc
mov edx, dword [ebp - 0x3ac]
push edx
push 0x100
lea eax, [ebp - 0x4bc]
push eax
call dword [sym.imp.MSVCR80.dll_fgets]
add esp, 0xc
test eax, eax
je 0x10014f99
mov ecx, dword [ebp - 0x4c0]
push ecx
push 0x10039b40
lea edx, [ebp - 0x4bc]
push edx
call dword [sym.imp.ntdll.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x10014f73
push 0x10039b48
call sub.ntdll.dll_strlen
add esp, 4
lea eax, [ebp + eax - 0x4bb]
mov dword [ebp - 0x5d8], eax
lea ecx, [ebp - 0x5c4]
mov dword [ebp - 0x5d4], ecx
mov edx, dword [ebp - 0x5d8]
movsx eax, byte [edx]
test eax, eax
je 0x10014f5e
mov ecx, dword [ebp - 0x5d4]
mov edx, dword [ebp - 0x5d8]
mov al, byte [edx]
mov byte [ecx], al
mov ecx, dword [ebp - 0x5d4]
add ecx, 1
mov dword [ebp - 0x5d4], ecx
mov edx, dword [ebp - 0x5d8]
add edx, 1
mov dword [ebp - 0x5d8], edx
jmp 0x10014f21
mov eax, dword [ebp - 0x5d4]
mov byte [eax], 0
mov dword [ebp - 0x3a8], 1
jmp 0x10014f99
cmp dword [ebp - 0x3a8], 0
je 0x10014f7e
jmp 0x10014f99
push 0x100
push 0
lea ecx, [ebp - 0x4bc]
push ecx
call sub.ntdll.dll_memset
add esp, 0xc
jmp 0x10014eb7
mov edx, dword [ebp - 0x3ac]
push edx
call dword [sym.imp.MSVCR80.dll_fclose]
add esp, 4
push 0x10039b50
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.MSVCR80.dll_fopen]
add esp, 8
mov dword [ebp - 0x3ac], eax
cmp dword [ebp - 0x3ac], 0
jne 0x1001500f
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x670], eax
mov ecx, dword [ebp + 0xc]
push ecx
push 0x263
push 0x10039b54
call fcn.10010f00
add esp, 8
push eax
push 0x10039b64
mov edx, dword [ebp - 0x670]
push edx
mov eax, dword [ebp - 0x670]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
call edx
add esp, 0x10
xor eax, eax
jmp 0x10015231
push 0x1000
call fcn.1000f6bd
add esp, 4
mov dword [ebp - 0x634], eax
mov eax, dword [ebp - 0x634]
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x3b8], 0
push 0x1000
push 0
mov ecx, dword [ebp - 0x3b0]
push ecx
call sub.ntdll.dll_memset
add esp, 0xc
push 0x100
push 0
lea edx, [ebp - 0x4bc]
push edx
call sub.ntdll.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x3ac]
push eax
push 0x100
lea ecx, [ebp - 0x4bc]
push ecx
call dword [sym.imp.MSVCR80.dll_fgets]
add esp, 0xc
test eax, eax
je 0x1001512f
lea edx, [ebp - 0x4bc]
push edx
call sub.ntdll.dll_strlen
add esp, 4
mov dword [ebp - 0x5dc], eax
mov eax, dword [ebp - 0x4c0]
push eax
push 0x10039b78
lea ecx, [ebp - 0x4bc]
push ecx
call dword [sym.imp.ntdll.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x100150fe
push 0x100
push 0
lea edx, [ebp - 0x4bc]
push edx
call sub.ntdll.dll_memset
add esp, 0xc
lea eax, [ebp - 0x5c4]
push eax
push 0x10039b80
push 0x10039b88
lea ecx, [ebp - 0x4bc]
push ecx
call dword [sym.imp.ntdll.dll_sprintf]
add esp, 0x10
mov dword [ebp - 0x3b8], 1
lea edx, [ebp - 0x4bc]
push edx
mov eax, dword [ebp - 0x3b0]
push eax
call sub.ntdll.dll_strcat
add esp, 8
push 0x100
push 0
lea ecx, [ebp - 0x4bc]
push ecx
call sub.ntdll.dll_memset
add esp, 0xc
jmp 0x10015064
mov edx, dword [ebp - 0x3ac]
push edx
call dword [sym.imp.MSVCR80.dll_fclose]
add esp, 4
push 0x10039b90
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.MSVCR80.dll_fopen]
add esp, 8
mov dword [ebp - 0x3ac], eax
cmp dword [ebp - 0x3ac], 0
jne 0x100151a5
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x674], eax
mov ecx, dword [ebp + 0xc]
push ecx
push 0x27d
push 0x10039b94
call fcn.10010f00
add esp, 8
push eax
push 0x10039ba4
mov edx, dword [ebp - 0x674]
push edx
mov eax, dword [ebp - 0x674]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
call edx
add esp, 0x10
xor eax, eax
jmp 0x10015231
mov eax, dword [ebp - 0x3b0]
push eax
call sub.ntdll.dll_strlen
add esp, 4
mov dword [ebp - 0x3bc], eax
mov ecx, dword [ebp - 0x3ac]
push ecx
mov edx, dword [ebp - 0x3bc]
push edx
push 1
mov eax, dword [ebp - 0x3b0]
push eax
call dword [sym.imp.MSVCR80.dll_fwrite]
add esp, 0x10
cmp eax, dword [ebp - 0x3bc]
je 0x1001521c
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x678], eax
push 0x283
push 0x10039bb8
call fcn.10010f00
add esp, 8
push eax
push 0x10039bc8
mov ecx, dword [ebp - 0x678]
push ecx
mov edx, dword [ebp - 0x678]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
call ecx
add esp, 0xc
mov edx, dword [ebp - 0x3ac]
push edx
call dword [sym.imp.MSVCR80.dll_fclose]
add esp, 4
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1000f6c2
mov esp, ebp
pop ebp
ret 0xc