Function at 0x10009d00
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100121a5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x150
push ebx
push esi
push edi
lea eax, [esp + 0x40]
push eax
call fcn.1000d6a0
xor edi, edi
mov dword [esp + 0x164], edi
mov ecx, 0xcb
xor eax, eax
mov edi, edi
mov dl, byte [eax + 0x10014c50]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x10], dl
jns 0x10009d5d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x1c
jl 0x10009d40
mov byte [esp + 0x2c], 0
lea eax, [esp + 0x10]
push eax
lea esi, [esp + 0x54]
mov byte [esp + 0x168], 1
call fcn.1000d940
push edi
test eax, eax
jne 0x10009d98
mov ecx, dword [esp + 0x44]
mov ecx, dword [ecx + 4]
push 2
lea ecx, [esp + ecx + 0x48]
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
jmp 0x10009daa
mov edx, dword [esp + 0x44]
mov ecx, dword [edx + 4]
push edi
lea ecx, [esp + ecx + 0x48]
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
mov byte [esp + 0x164], 0
cmp dword [esp + 0xa4], edi
je 0x10009eb6
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 4]
test byte [esp + ecx + 0x4c], 1
jne 0x10009f0d
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, dword [sym.imp.MSVCR100.dll_system]
lea ecx, [ecx]
lea edx, [esp + 0xf0]
push edx
lea eax, [esp + 0x44]
push eax
call fcn.1000f510
add esp, 8
mov ecx, 0x63
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x10014c70]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x10], dl
jns 0x10009e1d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x20
jl 0x10009e00
mov byte [esp + 0x30], 0
lea ecx, [esp + 0xf0]
lea eax, [esp + 0x10]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10009e53
test dl, dl
je 0x10009e4f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10009e53
add eax, 2
add ecx, 2
test dl, dl
jne 0x10009e33
xor eax, eax
jmp 0x10009e58
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
sete al
test al, al
je 0x10009e65
call ebx
jmp 0x10009ea2
mov ecx, 0x7e
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x10014c94]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 0x10], dl
jns 0x10009e8d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x1e
jl 0x10009e70
lea eax, [esp + 0x10]
push eax
mov byte [esp + 0x32], 0
call esi
add esp, 4
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 4]
test byte [esp + edx + 0x4c], 1
je 0x10009de0
jmp 0x10009f0d
mov edi, 0x23f331c4
lea esi, [esp + 0x10]
call fcn.1000f340
mov ebx, dword [sym.imp.MSVCR100.dll_system]
push eax
call ebx
add esp, 4
mov edi, 0x858336e0
lea esi, [esp + 0x10]
call fcn.1000f380
push eax
call ebx
xor eax, eax
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov word [esp + 0x2c], ax
mov byte [esp + 0x2e], al
xor edi, edi
lea esi, [esp + 0x50]
cmp dword [esp + 0xa4], edi
je 0x10009f3d
mov eax, esi
push eax
call fcn.1000da40
test al, al
jne 0x10009f28
xor esi, esi
mov ecx, dword [esp + 0xa4]
push ecx
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
test eax, eax
je 0x10009f3f
xor esi, esi
lea ecx, [esp + 0x50]
mov byte [esp + 0xa0], 0
mov byte [esp + 0x99], 0
call dword [sym.imp.MSVCP100.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void_]
mov edx, dword [0x1001aeb8]
mov dword [esp + 0xa4], edi
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], edi
cmp esi, edi
jne 0x10009f8c
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 4]
push edi
push 2
lea ecx, [esp + ecx + 0x48]
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 4]
lea ecx, [esp + 0xa8]
mov dword [esp + 0x3c], ecx
mov dword [esp + eax + 0x40], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
lea ecx, [esp + 0x50]
mov dword [esp + 0x164], 2
call fcn.1000ca00
mov dword [esp + 0x164], 0xffffffff
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 4]
mov eax, dword [sym.imp.MSVCP100.dll_const_std::basic_istream_char__struct_std::char_traits_char__::vftable]
lea ecx, [esp + 0xa8]
mov dword [esp + edx + 0x40], eax
call dword [sym.imp.MSVCP100.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov ecx, dword [esp + 0x15c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret