Function at 0x1016bb2
Capabilities:
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x25c
mov eax, dword [reloc.msvcrt.dll___p__fmode]
and word [ebp - 0x204], 0
push ebx
mov ebx, dword [ebp + 0xc]
and dword [ebp - reloc.msvcrt.dll___p__fmode], 0
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 4], eax
push 0x7f
xor eax, eax
pop ecx
lea edi, reloc.msvcrt.dll___p__fmode
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
add eax, 0x108
push eax
call edi
mov dword [ebp - reloc.msvcrt.dll___p__fmode], eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
add eax, 0x108
push eax
call edi
mov dword [ebp - reloc.msvcrt.dll___p__fmode], eax
mov eax, dword [esi + 0x20]
test eax, eax
je 0x10165d6
lea ecx, reloc.msvcrt.dll___p__fmode
push ecx
push 1
push eax
call fcn.01028e5d
mov dword [ebp - reloc.msvcrt.dll___p__fmode], eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push 2
push dword [esi + 0x20]
call fcn.01028e5d
mov dword [ebp - reloc.msvcrt.dll___p__fmode], eax
and dword [ebx], 0
mov dword [ebp - reloc.msvcrt.dll___p__fmode], 1
mov edi, 0x10020fc
push dword [esi + 0xc]
lea eax, reloc.msvcrt.dll___p__fmode
push dword [esi + 8]
push 0x1002114
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push 0x1001fc4
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0xc]
push dword [eax + 8]
lea eax, reloc.msvcrt.dll___p__fmode
push 0x1002114
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push 0x10020e4
push ebx
call fcn.010156a5
cmp dword [ebp - reloc.msvcrt.dll___p__fmode], 0
je 0x10166c2
lea eax, reloc.msvcrt.dll___p__fmode
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
call fcn.010157f1
test eax, eax
je 0x10171cd
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push reloc.ADVAPI32.dll_LookupPrivilegeValueW
push ebx
call fcn.010156a5
cmp dword [ebp - reloc.msvcrt.dll___p__fmode], 0
je 0x1016710
lea eax, reloc.msvcrt.dll___p__fmode
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
call fcn.010157f1
test eax, eax
je 0x10171cd
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push reloc.ADVAPI32.dll_LookupPrivilegeValueW
push ebx
call fcn.010156a5
cmp dword [esi + reloc.msvcrt.dll___p__fmode], 0x200
jne 0x10167ed
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push 0x287
call fcn.0102834e
push eax
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push 0x10020e4
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push reloc.ADVAPI32.dll_LookupPrivilegeValueW
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push reloc.ADVAPI32.dll_LookupPrivilegeValueW
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push 0x10020e4
jmp 0x1016b51
mov eax, dword [esi + 0x20]
mov eax, dword [eax + reloc.msvcrt.dll___p__fmode]
sub eax, 8
je 0x1016828
dec eax
je 0x1016818
dec eax
dec eax
je 0x1016808
dec eax
je 0x1016808
dec eax
jne 0x1016842
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push 0x285
jmp 0x1016836
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push reloc.ADVAPI32.dll_OpenSCManagerW
jmp 0x1016836
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push 0x287
call fcn.0102834e
push eax
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
mov eax, dword [esi + 0x20]
mov eax, dword [eax + reloc.msvcrt.dll___p__fmode]
test eax, eax
je 0x101692e
cmp eax, 0x30000000
jae 0x1016906
cmp eax, 0xb
ja 0x10168b4
je 0x10168ad
dec eax
je 0x10168a6
sub eax, 6
je 0x101689f
dec eax
je 0x1016898
dec eax
je 0x1016891
dec eax
jne 0x101692e
mov eax, reloc.ADVAPI32.dll_RegOpenKeyExW
jmp 0x10168e8
mov eax, reloc.ADVAPI32.dll_RegEnumKeyW
jmp 0x10168e8
mov eax, 0x20000040
jmp 0x10168e8
mov eax, 0x20000020
jmp 0x10168e8
mov eax, reloc.ADVAPI32.dll_RegSaveKeyW
jmp 0x10168e8
mov eax, reloc.ADVAPI32.dll_RegDeleteValueW
jmp 0x10168e8
sub eax, 0xc
je 0x10168e3
dec eax
je 0x10168dc
dec eax
je 0x10168d5
sub eax, 4
je 0x10168ce
dec eax
jne 0x101692e
mov eax, 0x278
jmp 0x10168e8
mov eax, 0x277
jmp 0x10168e8
mov eax, reloc.ADVAPI32.dll_ImpersonateLoggedOnUser
jmp 0x10168e8
mov eax, reloc.ADVAPI32.dll_AdjustTokenPrivileges
jmp 0x10168e8
mov eax, reloc.ADVAPI32.dll_ControlService
push 0xff
push eax
call fcn.0102834e
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
call dword [sym.imp.msvcrt.dll_wcsncpy]
add esp, 0xc
jmp 0x1016942
mov eax, dword [esi + 0x20]
push 0xff
lea ecx, reloc.msvcrt.dll___p__fmode
push ecx
push dword [eax + 0x45c]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x1c]
push dword [eax + 0x24]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
jne 0x1016942
lea eax, reloc.msvcrt.dll___p__fmode
push 0x1001f84
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
mov eax, dword [esi + 0x20]
mov eax, dword [eax + reloc.msvcrt.dll___p__fmode]
test eax, eax
jne 0x101698b
lea eax, reloc.msvcrt.dll___p__fmode
push 0x1001f84
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
jmp 0x10169a1
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push 0x10020ec
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0xc
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push 0x10020e4
push ebx
call fcn.010156a5
cmp dword [ebp - reloc.msvcrt.dll___p__fmode], 0
je 0x1016a05
lea eax, reloc.msvcrt.dll___p__fmode
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
call fcn.010157f1
test eax, eax
je 0x10171cd
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push reloc.ADVAPI32.dll_LookupPrivilegeValueW
push ebx
call fcn.010156a5
cmp dword [ebp - reloc.msvcrt.dll___p__fmode], 0
je 0x1016a53
lea eax, reloc.msvcrt.dll___p__fmode
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
call fcn.010157f1
test eax, eax
je 0x10171cd
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push reloc.ADVAPI32.dll_LookupPrivilegeValueW
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + 0x20]
mov eax, dword [eax + 8]
push dword [eax + 0x24]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
mov eax, dword [esi + 0x20]
add eax, 0x38
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
test eax, eax
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
je 0x1016ab3
mov eax, dword [esi + 0x20]
add eax, 0x38
push eax
jmp 0x1016ab9
push dword [esi + 0x11c]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + 0x20]
push dword [eax + 0x460]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + 0x20]
mov eax, dword [eax + 8]
push dword [eax + 0x40]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push 0x10020e4
push ebx
call fcn.010156a5
mov eax, dword [esi + 0x20]
push dword [eax + 0x46c]
lea eax, reloc.msvcrt.dll___p__fmode
push 0x10017e4
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0xc
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push reloc.ADVAPI32.dll_LookupPrivilegeValueW
push ebx
call fcn.010156a5
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0x30]
lea eax, reloc.msvcrt.dll___p__fmode
push 0x10017e4
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0xc
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push reloc.ADVAPI32.dll_LookupPrivilegeValueW
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push dword [esi + 0x2c]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0x70]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push 0x10020e4
push ebx
call fcn.010156a5
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0xec]
lea eax, reloc.msvcrt.dll___p__fmode
push 0x10017e4
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0xc
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push reloc.ADVAPI32.dll_LookupPrivilegeValueW
push ebx
call fcn.010156a5
push dword [esi + 0x15c]
lea eax, reloc.msvcrt.dll___p__fmode
push 0x100210c
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0xc
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push reloc.ADVAPI32.dll_LookupPrivilegeValueW
push ebx
call fcn.010156a5
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
cmp dword [eax + 0x84], 1
push 1
jne 0x1016cb1
lea ecx, reloc.msvcrt.dll___p__fmode
push ecx
push dword [eax + 0x80]
jmp 0x1016cbd
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push 0x1001f84
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0x8c]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0x88]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0xf4]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0xa0]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0xa4]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0xa8]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0xac]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0xb0]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0xb8]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0xbc]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0xc0]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0xc4]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0xc8]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0xcc]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0xd0]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
push dword [eax + 0xd4]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push dword [esi + 0x118]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push dword [esi + 0x11c]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push dword [esi + 0x120]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push dword [esi + 0x124]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push dword [esi + 0x128]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push dword [esi + reloc.MSVCP60.dll__append___basic_string_GU__char_traits_G_std__V__allocator_G_2__std__QAEAAV12_PBG_Z]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push dword [esi + reloc.OLEAUT32.dll_VariantTimeToDosDateTime]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push dword [esi + reloc.RPCRT4.dll_RpcServerUseProtseqEpW]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push dword [esi + 0x13c]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push dword [esi + 0x140]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push dword [esi + 0x144]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push dword [esi + 0x148]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push dword [esi + 0x14c]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push edi
push ebx
call fcn.010156a5
push 1
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push dword [esi + 0xd8]
push ebx
call fcn.010156a5
push 0
lea eax, reloc.msvcrt.dll___p__fmode
push eax
push 0x1002104
push ebx
call fcn.010156a5
cmp dword [ebx], 0
jne 0x10171a8
mov eax, dword [ebp - reloc.msvcrt.dll___p__fmode]
lea eax, [eax + eax + 2]
push eax
call fcn.01035a36
test eax, eax
mov dword [ebx], eax
je 0x10171d9
inc dword [ebp - reloc.msvcrt.dll___p__fmode]
cmp dword [ebp - reloc.msvcrt.dll___p__fmode], 2
jbe 0x10165e8
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01031d91
leave
ret 8
mov ebx, dword [ebx]
test ebx, ebx
je 0x10171d9
push ebx
call fcn.01035abf
xor eax, eax
jmp 0x10171be