Function at 0x100020a0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10026dd3
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x10e0
call fcn.1000b520
mov eax, dword [0x10033080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10ec], edx
mov esi, ecx
push 0xb8
lea eax, [ebp - 0x10e0]
mov dword [ebp - 0x10e8], 0
push 0
push eax
call fcn.1000c150
add esp, 0xc
mov edi, esi
cmp dword [esi + 0x14], 0xf
jbe 0x10002117
mov edi, dword [esi]
xorps xmm0, xmm0
mov dword [ebp - 0x10e0], 0x1002fd90
movups xmmword [ebp - 0x1068], xmm0
mov dword [ebp - 0x1048], 0
movlpd qword [ebp - 0x1058], xmm0
movlpd qword [ebp - 0x1050], xmm0
mov dword [ebp - 0x1044], 0
mov dword [ebp - 0x1040], 0
mov dword [ebp - 0x1038], 0
mov dword [ebp - 0x1034], 0
mov byte [ebp - 0x1030], 0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x10d0]
push 0
push eax
lea ecx, [ebp - 0x1070]
mov dword [ebp - 0x10e8], 1
mov dword [ebp - method.std::basic_istream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov dword [ebp - 0x1074], 0x58
movlpd qword [ebp - 0x10d8], xmm0
call fcn.10006c80
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x10e0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x10e0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x10e4], eax
lea ecx, [ebp - 0x10d0]
call fcn.100060b0
push ecx
push 0x21
push edi
lea ecx, [ebp - 0x10d0]
mov byte [ebp - 4], 3
call fcn.10005f30
test eax, eax
jne 0x1000222e
mov eax, dword [ebp - 0x10e0]
lea ecx, [ebp - 0x10e0]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.10001dc0
mov eax, dword [ebp - 0x10e0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x10e0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x10e4], eax
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x10e0]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x10d4], 6
je 0x100022aa
mov edx, 0x1002fba4
mov ecx, 0x10034158
call fcn.10006f50
cmp dword [esi + 0x14], 0xf
mov edx, esi
jbe 0x10002288
mov edx, dword [esi]
push dword [esi + 0x10]
mov ecx, eax
call fcn.10008830
add esp, 4
push eax
call fcn.10007200
add esp, 4
mov byte [ebp - 0x10e1], 0
jmp 0x100024e0
xor edi, edi
mov dword [ebp - 0x101c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x10e8], edi
movq qword [ebp - 0x1024], xmm0
mov dword [ebp - 0x1024], 0
mov dword [ebp - 0x1020], edi
mov dword [ebp - 0x101c], edi
mov byte [ebp - 4], 5
sub esp, 8
lea eax, [ebp - 0x1018]
lea ecx, [ebp - 0x10e0]
push eax
call fcn.100045b0
mov edx, dword [ebp - 0x10d8]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x1000231f
cmp dword [ebp - 0x10d4], 0
jl 0x10002401
jg 0x1000231f
test edx, edx
je 0x10002401
xor eax, eax
test edx, edx
je 0x100023dc
cmp edx, 8
jb 0x100023cc
movaps xmm1, xmmword [0x1002fe10]
cmp edx, 0x40
jb 0x100023a6
mov ecx, edx
lea esi, [ebp - 0x1018]
and ecx, 0xffffffc0
lea edx, [ebp - 0xff8]
lea edi, [ebp - 0xfe8]
movups xmm0, xmmword [esi + eax]
andnps xmm0, xmm1
movups xmmword [esi + eax], xmm0
movups xmm0, xmmword [ebp + eax - 0x1008]
andnps xmm0, xmm1
movups xmmword [ebp + eax - 0x1008], xmm0
movups xmm0, xmmword [edx + eax]
andnps xmm0, xmm1
movups xmmword [edx + eax], xmm0
movups xmm0, xmmword [edi + eax]
andnps xmm0, xmm1
movups xmmword [edi + eax], xmm0
add eax, 0x40
cmp eax, ecx
jb 0x10002355
mov edx, dword [ebp - 0x10d8]
mov ecx, edx
mov edi, dword [ebp - 0x10e8]
and cl, 0x3f
cmp cl, 8
jb 0x100023cc
mov ecx, edx
and ecx, 0xfffffff8
nop dword [eax + eax]
movq xmm0, qword [ebp + eax - 0x1018]
andnps xmm0, xmm1
movq qword [ebp + eax - 0x1018], xmm0
add eax, 8
cmp eax, ecx
jb 0x100023b0
cmp eax, edx
jae 0x100023dc
not byte [ebp + eax - 0x1018]
inc eax
cmp eax, edx
jb 0x100023d0
push edx
lea eax, [ebp - 0x1018]
push eax
push edi
lea ecx, [ebp - 0x1024]
call fcn.10008a90
mov edi, dword [ebp - 0x1020]
mov dword [ebp - 0x10e8], edi
jmp 0x100022e1
lea ecx, [ebp - 0x10d0]
call fcn.10005e50
test eax, eax
jne 0x10002439
mov eax, dword [ebp - 0x10e0]
lea ecx, [ebp - 0x10e0]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.10001dc0
mov esi, dword [ebp - 0x1024]
sub edi, esi
push 0x40
push 0x3000
push edi
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x10e8], eax
test eax, eax
jne 0x1000247c
mov edx, 0x1002fbb8
mov ecx, 0x10034158
call fcn.10006f50
push eax
call fcn.10007200
add esp, 4
mov byte [ebp - 0x10e1], 0
jmp 0x100024a8
push edi
push esi
push eax
call fcn.1000bbc0
mov ecx, dword [ebp - 0x10e8]
sub esp, 0xc
mov edx, edi
call fcn.100090d0
mov ecx, dword [ebp - 0x10ec]
add esp, 0x18
test eax, eax
setne byte [ebp - 0x10e1]
mov dword [ecx], eax
mov byte [ebp - 4], 4
test esi, esi
je 0x100024e0
mov ecx, dword [ebp - 0x101c]
mov eax, esi
sub ecx, esi
cmp ecx, 0x1000
jb 0x100024d6
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000257d
push ecx
push esi
call fcn.1000a529
add esp, 8
mov eax, dword [ebp - 0x10e0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x10e0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x10e4], eax
lea ecx, [ebp - 0x10d0]
call fcn.10004240
mov eax, dword [ebp - 0x10e0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_istream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x10e0]
mov edx, dword [eax + 4]
lea ecx, [edx - 0x18]
mov dword [ebp + edx - 0x10e4], ecx
lea eax, [ebp - 0x1070]
mov dword [ebp - 4], 6
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.10009de5
mov al, byte [ebp - 0x10e1]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1000a4e6
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.10012927
int3