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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100340c9
mov eax, dword fs:[0]
push eax
sub esp, 0x66c
mov eax, dword [0x10048024]
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 0x10014c63
mov dword [ebp - 0x170], 0x1003777c
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 0x10037784
call sub.ntdll.dll_strlen
add esp, 4
mov dword [ebp - 0x384], eax
push 0x80000
call fcn.1000f66d
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.1002df30
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x394]
push ecx
lea edx, [ebp - 0x378]
push edx
lea ecx, [ebp - 0x128]
call fcn.1002de40
test eax, eax
jne 0x10014391
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x63c], eax
push 0x1b1
push 0x10037794
call fcn.10010eb0
add esp, 8
push eax
push 0x100377a4
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.10010e80
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.1002ded0
mov eax, dword [ebp - 0x5e8]
jmp 0x100151e1
lea ecx, [ebp - 0x390]
push ecx
lea edx, [ebp - 0x37c]
push edx
lea ecx, [ebp - 0x128]
call fcn.1002ddb0
test eax, eax
jne 0x10014452
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x640], eax
push 0x1b8
push 0x100377c4
call fcn.10010eb0
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.10010e80
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.1002ded0
mov eax, dword [ebp - 0x5f0]
jmp 0x100151e1
mov ecx, dword [ebp - 0x390]
push ecx
mov edx, dword [ebp - 0x394]
push edx
lea ecx, [ebp - 0x128]
call fcn.1002db00
test eax, eax
jne 0x10014513
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x644], eax
push 0x1bf
push 0x100377f4
call fcn.10010eb0
add esp, 8
push eax
push 0x10037804
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.10010e80
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.1002ded0
mov eax, dword [ebp - 0x5f8]
jmp 0x100151e1
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.10011130
add esp, 4
test eax, eax
jne 0x100145cc
cmp dword [ebp - 0x380], 0
je 0x1001456b
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 0x10037820
call fcn.10010eb0
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.1002ded0
mov eax, dword [ebp - 0x600]
jmp 0x100151e1
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 0x10037850
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.1002dd60
test eax, eax
jne 0x1001471b
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x64c], eax
lea ecx, [ebp - 0x374]
push ecx
push 0x1d2
push 0x10037874
call fcn.10010eb0
add esp, 8
push eax
push 0x10037884
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 0x10037894
call fcn.10010eb0
add esp, 8
push eax
push 0x100378a4
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.10010e80
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.1002ded0
mov eax, dword [ebp - 0x608]
jmp 0x100151e1
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.1002dc20
test eax, eax
jne 0x100147ee
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x654], eax
push 0x1db
push 0x100378c0
call fcn.10010eb0
add esp, 8
push eax
push 0x100378d0
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.10010e80
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.1002ded0
mov eax, dword [ebp - 0x610]
jmp 0x100151e1
cmp dword [ebp - 0x174], 0
jg 0x1001489b
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.10010e80
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 0x100378ec
call fcn.10010eb0
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.1002ded0
mov eax, dword [ebp - 0x618]
jmp 0x100151e1
mov dword [ebp - 0x38c], 0
mov dword [ebp - 0x398], 0
jmp 0x100148c0
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 0x100149da
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 0x100149ca
mov edx, dword [ebp - 0x398]
mov dword [ebp - 0x39c], edx
jmp 0x10014921
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 0x100149ca
mov edx, dword [ebp - 0x380]
add edx, dword [ebp - 0x39c]
movsx eax, byte [edx]
cmp eax, 0x7b
jne 0x100149c5
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 0x100149a9
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 0x1001496b
mov ecx, dword [ebp - 0x3a0]
mov edx, dword [ebp - 0x3a4]
mov al, byte [edx]
mov byte [ecx], al
mov dword [ebp - 0x38c], 1
jmp 0x100149ca
jmp 0x10014912
cmp dword [ebp - 0x38c], 0
je 0x100149d5
jmp 0x100149da
jmp 0x100148b1
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 0x10037910
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.1002dd60
test eax, eax
jne 0x10014b25
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x65c], eax
lea edx, [ebp - 0x374]
push edx
push 0x204
push 0x1003792c
call fcn.10010eb0
add esp, 8
push eax
push 0x1003793c
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 0x1003794c
call fcn.10010eb0
add esp, 8
push eax
push 0x1003795c
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.10010e80
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.1002ded0
mov eax, dword [ebp - 0x620]
jmp 0x100151e1
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.1002dc20
test eax, eax
jne 0x10014bf8
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x664], eax
push 0x20d
push 0x10037978
call fcn.10010eb0
add esp, 8
push eax
push 0x10037988
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.10010e80
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.1002ded0
mov eax, dword [ebp - 0x628]
jmp 0x100151e1
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.10010e80
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.1002ded0
mov eax, dword [ebp - 0x630]
jmp 0x100151e1
mov byte [ebp - 0x5c4], 0
push 0xff
push 0
lea eax, [ebp - 0x5c3]
push eax
call sub.ntdll.dll_memset
add esp, 0xc
push 0x100379a4
call sub.ntdll.dll_strlen
add esp, 4
mov dword [ebp - 0x4c0], eax
push 0x100379ac
call sub.ntdll.dll_strlen
add esp, 4
mov dword [ebp - 0x5c8], eax
mov dword [ebp - 0x3b4], 0
push 0x100379bc
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 0x10014d16
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x668], eax
mov edx, dword [ebp + 0x10]
push edx
push 0x22e
push 0x100379c0
call fcn.10010eb0
add esp, 8
push eax
push 0x100379d0
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 0x100151e1
push pe_nt_image_headers32
push 0
lea ecx, [ebp - 0x4bc]
push ecx
call sub.ntdll.dll_memset
add esp, 0xc
mov edx, dword [ebp - 0x3ac]
push edx
push pe_nt_image_headers32
lea eax, [ebp - 0x4bc]
push eax
call dword [sym.imp.MSVCR80.dll_fgets]
add esp, 0xc
test eax, eax
je 0x10014ded
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 0x10014d80
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 0x10014dc7
mov ecx, dword [ebp - 0x5c8]
push ecx
push 0x100379e4
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 0x10014dc5
mov dword [ebp - 0x3b4], 1
jmp 0x10014d71
cmp dword [ebp - 0x3b4], 0
je 0x10014dd2
jmp 0x10014ded
push pe_nt_image_headers32
push 0
lea ecx, [ebp - 0x4bc]
push ecx
call sub.ntdll.dll_memset
add esp, 0xc
jmp 0x10014d2c
cmp dword [ebp - 0x3b4], 0
jne 0x10014e47
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x66c], eax
push 0x242
push 0x100379f4
call fcn.10010eb0
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 0x100151e1
mov dword [ebp - 0x3a8], 0
push pe_nt_image_headers32
push 0
lea ecx, [ebp - 0x4bc]
push ecx
call sub.ntdll.dll_memset
add esp, 0xc
mov edx, dword [ebp - 0x3ac]
push edx
push pe_nt_image_headers32
lea eax, [ebp - 0x4bc]
push eax
call dword [sym.imp.MSVCR80.dll_fgets]
add esp, 0xc
test eax, eax
je 0x10014f49
mov ecx, dword [ebp - 0x4c0]
push ecx
push 0x10037a20
lea edx, [ebp - 0x4bc]
push edx
call dword [sym.imp.ntdll.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x10014f23
push 0x10037a28
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 0x10014f0e
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 0x10014ed1
mov eax, dword [ebp - 0x5d4]
mov byte [eax], 0
mov dword [ebp - 0x3a8], 1
jmp 0x10014f49
cmp dword [ebp - 0x3a8], 0
je 0x10014f2e
jmp 0x10014f49
push pe_nt_image_headers32
push 0
lea ecx, [ebp - 0x4bc]
push ecx
call sub.ntdll.dll_memset
add esp, 0xc
jmp 0x10014e67
mov edx, dword [ebp - 0x3ac]
push edx
call dword [sym.imp.MSVCR80.dll_fclose]
add esp, 4
push 0x10037a30
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 0x10014fbf
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x670], eax
mov ecx, dword [ebp + 0xc]
push ecx
push 0x263
push 0x10037a34
call fcn.10010eb0
add esp, 8
push eax
push 0x10037a44
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 0x100151e1
push 0x1000
call fcn.1000f66d
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 pe_nt_image_headers32
push 0
lea edx, [ebp - 0x4bc]
push edx
call sub.ntdll.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x3ac]
push eax
push pe_nt_image_headers32
lea ecx, [ebp - 0x4bc]
push ecx
call dword [sym.imp.MSVCR80.dll_fgets]
add esp, 0xc
test eax, eax
je 0x100150df
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 0x10037a58
lea ecx, [ebp - 0x4bc]
push ecx
call dword [sym.imp.ntdll.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x100150ae
push pe_nt_image_headers32
push 0
lea edx, [ebp - 0x4bc]
push edx
call sub.ntdll.dll_memset
add esp, 0xc
lea eax, [ebp - 0x5c4]
push eax
push 0x10037a60
push 0x10037a68
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 pe_nt_image_headers32
push 0
lea ecx, [ebp - 0x4bc]
push ecx
call sub.ntdll.dll_memset
add esp, 0xc
jmp 0x10015014
mov edx, dword [ebp - 0x3ac]
push edx
call dword [sym.imp.MSVCR80.dll_fclose]
add esp, 4
push 0x10037a70
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 0x10015155
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x674], eax
mov ecx, dword [ebp + 0xc]
push ecx
push 0x27d
push 0x10037a74
call fcn.10010eb0
add esp, 8
push eax
push 0x10037a84
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 0x100151e1
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 0x100151cc
call sym.Comn.dll_GetObjectLog
mov dword [ebp - 0x678], eax
push 0x283
push 0x10037a98
call fcn.10010eb0
add esp, 8
push eax
push 0x10037aa8
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.1000f672
mov esp, ebp
pop ebp
ret 0xc