Function at 0x1000fae0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10052ea4
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x10062648]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov esi, ebx
call fcn.1000d270
cmp byte [ebx + 0xa8], 0x3f
jne 0x10010568
cmp dword [ebx + 0xac], 1
jne 0x10010568
call fcn.1000d270
mov cl, byte [ebx + 0xa8]
movsx eax, cl
add eax, 0xffffffdf
xor edi, edi
mov byte [ebp - 0xd], 0x3e
cmp eax, 0x31
ja case.0x1000fb52.34
movzx eax, byte [eax + 0x10010854]
jmp dword [eax*4 + 0x10010830]
mov edi, 1
call fcn.1000d270
push 0xc
call fcn.1003a591
mov esi, eax
add esp, 4
mov dword [ebp - 0x2c], esi
mov dword [ebp - 4], 0
test esi, esi
je 0x1000fbcc
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
and edx, 0xffffffef
push edx
mov ecx, ebx
call fcn.1000d320
mov dword [esi + 4], eax
xor eax, eax
test edi, edi
sete al
mov dword [esi], vtable.CAssertElxT_0_.0
push esi
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 8], eax
mov esi, ebx
call fcn.1000e5c0
mov edi, eax
call fcn.1000d270
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
xor esi, esi
push esi
mov esi, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.1000e5c0
mov edi, eax
call fcn.1000d270
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov al, byte [ebx + 0xb8]
cmp al, 0x21
je 0x1000fc0a
cmp al, 0x3d
je 0x1000fc0f
jmp case.0x1000fb52.80
mov edi, 1
call fcn.1000d270
call fcn.1000d270
push 0xc
call fcn.1003a591
mov esi, eax
add esp, 4
mov dword [ebp - 0x2c], esi
mov dword [ebp - 4], 1
test esi, esi
je 0x1000fc58
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
or edx, 0x10
push edx
mov ecx, ebx
call fcn.1000d320
mov dword [esi + 4], eax
xor eax, eax
test edi, edi
sete al
mov dword [esi], vtable.CAssertElxT_0_.0
mov dword [esi + 8], eax
jmp 0x1000fc5a
xor esi, esi
push esi
mov esi, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.1000e5c0
mov edi, eax
test edi, edi
jne 0x1001054b
cmp byte [ebx + 0xa8], 0x50
jne case.0x1000fb52.39
mov esi, ebx
call fcn.1000d270
mov al, byte [ebx + 0xa8]
cmp al, 0x3c
jne 0x1000fc93
mov byte [ebp - 0xd], 0x3e
jmp 0x1000fc9a
cmp al, 0x27
jne 0x1000fc9a
mov byte [ebp - 0xd], al
mov esi, ebx
call fcn.1000d270
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x28], eax
inc eax
push 0x1c
mov dword [ebx + 0xc], eax
call fcn.1003a591
xor edi, edi
add esp, 4
cmp eax, edi
je 0x1000fccb
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
and edx, 0x10
push edx
call fcn.1000eb50
jmp 0x1000fccd
xor eax, eax
push eax
mov esi, ebx
call fcn.1000e5c0
push 0x20
mov dword [ebp - 0x20], eax
call fcn.1003a591
add esp, 4
cmp eax, edi
je 0x1000fd16
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov dword [eax], vtable.CBracketElxT_char_.0
shr ecx, 4
and ecx, 1
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], edi
mov dword [eax + 0xc], vtable.CBufferT_char_.0
mov dword [eax + 0x1c], edi
mov dword [eax + 0x18], edi
mov dword [eax + 4], 0xffffffff
mov dword [eax + 8], ecx
jmp 0x1000fd18
xor eax, eax
push eax
mov esi, ebx
call fcn.1000e5c0
push 0x20
mov dword [ebp - 0x1c], eax
call fcn.1003a591
add esp, 4
cmp eax, edi
je 0x1000fd63
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
shr ecx, 4
mov dword [eax], vtable.CBracketElxT_char_.0
not ecx
and ecx, 1
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], edi
mov dword [eax + 0xc], vtable.CBufferT_char_.0
mov dword [eax + 0x1c], edi
mov dword [eax + 0x18], edi
mov dword [eax + 4], 0xffffffff
mov dword [eax + 8], ecx
jmp 0x1000fd65
xor eax, eax
push eax
mov esi, ebx
call fcn.1000e5c0
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x1c]
add eax, 0xc
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x40], vtable.CBufferT_char_.0
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 4], 2
cmp byte [ebx + 0xa8], 0
je 0x1000fde3
lea esp, [esp]
mov al, byte [ebx + 0xa8]
cmp al, byte [ebp - 0xd]
je 0x1000fde3
mov esi, dword [ebp - 0x18]
push 1
lea ecx, [ebp - 0x14]
push ecx
mov byte [ebp - 0x14], al
call fcn.10010ec0
mov dl, byte [ebx + 0xa8]
push 1
lea eax, [ebp - 0x14]
push eax
lea esi, [ebp - 0x40]
mov byte [ebp - 0x14], dl
call fcn.10010ec0
mov esi, ebx
call fcn.1000d270
cmp byte [ebx + 0xa8], 0
jne 0x1000fda0
mov esi, ebx
call fcn.1000d270
cmp dword [ebp - 0x34], edi
je 0x1000fdf7
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x18], ecx
jmp 0x1000fdfe
mov dword [ebp - 0x18], 0x1005983f
lea edx, [ebp - 0x2c]
push edx
lea edi, [ebp - 0x18]
call fcn.1000ee70
add esp, 4
test eax, eax
je 0x1000fe36
mov ecx, dword [ebp - 0x18]
xor eax, eax
cmp byte [ecx], al
sete al
test eax, eax
je 0x1000fe36
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov dword [ecx + 4], eax
mov dword [edx + 4], eax
lea eax, [ecx + 0xc]
call fcn.10011420
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
add esi, 4
push eax
call fcn.1000d680
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
mov ecx, ebx
call fcn.1000d320
push eax
call fcn.1000d680
mov eax, dword [ebp - 0x24]
push eax
call fcn.1000d680
mov ecx, dword [ebp - 0x28]
push ecx
lea edi, [ebx + 0x50]
call fcn.100117b0
mov edx, dword [ebx + 0x5c]
mov eax, dword [ebp - 0x28]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x34], 0
mov dword [edx + eax*4], edi
je 0x1001054b
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.1003affa
add esp, 4
mov esi, ebx
call fcn.1000d270
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
call fcn.1000d270
push 8
call fcn.1003a591
mov esi, eax
add esp, 4
mov dword [ebp - 0x2c], esi
mov dword [ebp - 4], 3
test esi, esi
je 0x1000fbcc
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
mov ecx, ebx
call fcn.1000d320
mov dword [esi], vtable.CIndependentElxT_0_.0
mov dword [esi + 4], eax
jmp 0x1000fbce
call fcn.1000d270
cmp byte [ebx + 0xa8], 0
je 0x1000ff24
nop
movsx ecx, byte [ebx + 0xa8]
push ecx
call fcn.1003ac6a
add esp, 4
test eax, eax
je 0x1000ff24
mov esi, ebx
call fcn.1000d270
cmp byte [ebx + 0xa8], 0
jne 0x1000ff00
mov al, byte [ebx + 0xa8]
cmp al, 0x3c
je 0x1000ffe7
cmp al, 0x27
je 0x1000ffe5
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x40], vtable.CBufferT_char_.0
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x34], ecx
mov dword [ebp - 4], 5
test al, al
je 0x1000ff8e
lea esp, [esp]
mov al, byte [ebx + 0xa8]
cmp al, 0x29
je 0x1000ff8b
push 1
lea edx, [ebp + 8]
push edx
lea esi, [ebp - 0x40]
mov byte [ebp + 8], al
call fcn.10010ec0
mov esi, ebx
call fcn.1000d270
cmp byte [ebx + 0xa8], 0
jne 0x1000ff60
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x28], edi
mov dword [ebp + 8], ecx
cmp ecx, edi
jne 0x1000ff9f
mov dword [ebp + 8], 0x1005983f
lea eax, [ebp - 0x28]
push eax
lea edi, [ebp + 8]
call fcn.1000ee70
add esp, 4
push 0x20
call fcn.1003a591
add esp, 4
test eax, eax
je 0x1000ffd4
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.10011930
push eax
mov esi, ebx
call fcn.1000e5c0
mov edi, eax
jmp 0x100100d2
xor eax, eax
push eax
mov esi, ebx
call fcn.1000e5c0
mov edi, eax
jmp 0x100100d2
cmp al, 0x3c
setne al
dec al
and al, 0x17
add al, 0x27
push 0x20
mov byte [ebp - 0xd], al
call fcn.1003a591
add esp, 4
test eax, eax
je 0x1001000a
push 0xfffffffffffffffd
call fcn.10011930
jmp 0x1001000c
xor eax, eax
push eax
mov esi, ebx
call fcn.1000e5c0
mov edi, eax
mov dword [ebp - 0x28], edi
call fcn.1000d270
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x40], vtable.CBufferT_char_.0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], 4
cmp byte [ebx + 0xa8], al
je 0x10010085
mov al, byte [ebx + 0xa8]
cmp al, byte [ebp - 0xd]
je 0x10010085
push 1
lea edx, [ebp + 8]
push edx
lea esi, [edi + 0xc]
mov byte [ebp + 8], al
call fcn.10010ec0
mov al, byte [ebx + 0xa8]
push 1
lea ecx, [ebp + 8]
push ecx
lea esi, [ebp - 0x40]
mov byte [ebp + 8], al
call fcn.10010ec0
mov esi, ebx
call fcn.1000d270
cmp byte [ebx + 0xa8], 0
jne 0x10010042
mov esi, ebx
call fcn.1000d270
mov eax, dword [ebp - 0x34]
mov dword [ebp + 8], eax
test eax, eax
jne 0x1001009d
mov dword [ebp + 8], 0x1005983f
lea edx, [ebp - 0x2c]
push edx
lea edi, [ebp + 8]
call fcn.1000ee70
add esp, 4
test eax, eax
je 0x100100cf
mov ecx, dword [ebp + 8]
xor eax, eax
cmp byte [ecx], al
sete al
test eax, eax
je 0x100100cf
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov dword [eax + 8], edx
add eax, 0xc
call fcn.10011420
mov edi, dword [ebp - 0x28]
push edi
lea esi, [ebx + 0x3c]
call fcn.1000d680
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0xffffffff
call fcn.1000c220
mov esi, ebx
call fcn.1000d270
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x28
call fcn.1003a591
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x10010139
mov dword [eax], vtable.CConditionElxT_char_.0
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], vtable.CBufferT_char_.0
mov dword [eax + 0x18], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 4], 0xffffffff
jmp 0x1001013b
xor eax, eax
push eax
call fcn.1000e5c0
cmp byte [ebx + 0xb8], 0x3f
mov edi, eax
mov dword [ebp - 0x18], edi
jne 0x1001016b
cmp dword [ebx + 0xbc], 1
jne 0x1001016b
mov eax, dword [ebp + 8]
push eax
mov ecx, ebx
call fcn.1000fae0
mov dword [edi + 0x1c], eax
jmp 0x100102af
call fcn.1000d270
mov edi, dword [ebx + 0xb0]
push 0xc
call fcn.1003a591
mov esi, eax
add esp, 4
mov dword [ebp - 0x2c], esi
mov dword [ebp - 4], 6
test esi, esi
je 0x100101af
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
mov ecx, ebx
call fcn.1000d320
mov dword [esi], vtable.CAssertElxT_0_.0
mov dword [esi + 4], eax
mov dword [esi + 8], 1
jmp 0x100101b1
xor esi, esi
push esi
mov esi, ebx
call fcn.1000e5c0
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx + 0x90]
test eax, eax
jne 0x100101ce
mov eax, 0x1005983f
mov edx, dword [ebx + 0xb0]
mov esi, dword [ebp - 0x18]
sub edx, edi
push edx
add eax, edi
push eax
add esi, 8
call fcn.10010ec0
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x40], vtable.CBufferT_char_.0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], 7
cmp edi, dword [ebx + 0xb0]
jge 0x10010249
lea esp, [esp]
cmp edi, dword [ebx + 0x94]
jl 0x1001021c
xor al, al
jmp 0x10010225
mov eax, dword [ebx + 0x90]
mov al, byte [edi + eax]
push 1
lea ecx, [ebp - 0x14]
push ecx
lea esi, [ebp - 0x40]
mov byte [ebp - 0x14], al
call fcn.10010ec0
inc edi
cmp edi, dword [ebx + 0xb0]
jl 0x10010210
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x10010250
mov dword [ebp - 0x1c], 0x1005983f
lea edx, [ebp - 0x2c]
push edx
lea edi, [ebp - 0x1c]
call fcn.1000ee70
add esp, 4
test eax, eax
je 0x10010283
mov ecx, dword [ebp - 0x1c]
xor eax, eax
cmp byte [ecx], al
sete al
test eax, eax
je 0x10010283
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov dword [eax + 0x1c], 0
jmp 0x10010296
mov eax, dword [ebp - 0x18]
push eax
lea esi, [ebx + 0x78]
mov dword [eax + 4], 0xffffffff
call fcn.1000d680
mov esi, ebx
call fcn.1000d270
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0xffffffff
call fcn.1000c220
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x2c], ecx
push edx
mov ecx, ebx
call fcn.1000df00
mov dword [edi + 0x20], eax
cmp byte [ebx + 0xa8], 0x7c
jne 0x10010303
mov esi, ebx
call fcn.1000d270
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
mov ecx, ebx
call fcn.1000d320
mov dword [edi + 0x24], eax
mov edi, dword [ebp - 0x18]
call fcn.1000d270
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dword [edi + 0x24], 0
mov edi, dword [ebp - 0x18]
mov esi, ebx
call fcn.1000d270
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test cl, cl
je 0x10010352
movsx edx, byte [ebx + 0xa8]
push edx
call fcn.1003ac6a
add esp, 4
test eax, eax
je 0x10010352
mov esi, ebx
call fcn.1000d270
cmp byte [ebx + 0xa8], 0
jne 0x1001032e
mov al, byte [ebx + 0xa8]
cmp al, 0x30
jl 0x10010448
cmp al, 0x39
jg 0x10010448
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x40], vtable.CBufferT_char_.0
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 4], 8
test al, al
je 0x100103be
jmp 0x10010390
mov al, byte [ebx + 0xa8]
cmp al, 0x29
je 0x100103bb
mov byte [ebp + 8], al
push 1
lea eax, [ebp + 8]
push eax
lea esi, [ebp - 0x40]
call fcn.10010ec0
mov esi, ebx
call fcn.1000d270
cmp byte [ebx + 0xa8], 0
jne 0x10010390
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x28], 0
mov dword [ebp + 8], ecx
test ecx, ecx
jne 0x100103d3
mov dword [ebp + 8], 0x1005983f
lea ecx, [ebp - 0x28]
push ecx
lea edi, [ebp + 8]
call fcn.1000ee70
add esp, 4
push 0x20
call fcn.1003a591
add esp, 4
test eax, eax
je 0x100103fb
mov edx, dword [ebp - 0x28]
push edx
call fcn.10011930
jmp 0x100103fd
xor eax, eax
push eax
mov esi, ebx
call fcn.1000e5c0
mov edi, eax
push edi
lea esi, [ebx + 0x3c]
call fcn.1000d680
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x1001054b
push eax
call fcn.1003affa
add esp, 4
mov esi, ebx
call fcn.1000d270
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
mov al, byte [ebx + 0xa8]
mov edx, 1
test al, al
jne 0x1001046b
cmp dword [ebx + 0xac], edx
je 0x100104ed
mov cl, byte [ebx + 0xa8]
cmp cl, 0x3a
je 0x100104ed
cmp cl, 0x29
je 0x100104ed
cmp al, 0x28
jne 0x10010487
cmp dword [ebx + 0xac], edx
je 0x100104ed
movsx ecx, cl
add ecx, 0xffffffd3
xor eax, eax
cmp ecx, 0x46
ja case.0x1001049b.46
movzx ecx, byte [ecx + 0x100108a0]
jmp dword [ecx*4 + 0x10010888]
mov eax, 8
test edi, edi
je 0x100104de
not eax
and dword [ebp - 0x18], eax
mov esi, ebx
call fcn.1000d270
jmp 0x10010450
mov eax, edx
jmp case.0x1001049b.46
mov eax, 2
jmp case.0x1001049b.46
mov eax, 4
jmp case.0x1001049b.46
not eax
and dword [ebp - 0x18], eax
mov esi, ebx
mov edi, edx
call fcn.1000d270
jmp 0x10010450
or dword [ebp - 0x18], eax
mov esi, ebx
call fcn.1000d270
jmp 0x10010450
mov al, byte [ebx + 0xa8]
cmp al, 0x3a
je 0x10010537
cmp al, 0x28
jne 0x10010503
cmp dword [ebx + 0xac], edx
je 0x10010533
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp + 8]
push 0
mov edi, ebx
mov dword [eax], edx
call fcn.1000e070
mov esi, ebx
mov edi, eax
call fcn.1000d270
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0x3a
jne 0x1001053e
mov esi, ebx
call fcn.1000d270
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, ebx
call fcn.1000d320
mov edi, eax
mov esi, ebx
call fcn.1000d270
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x1c
call fcn.1003a591
xor edi, edi
add esp, 4
cmp eax, edi
je 0x100105a3
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
mov dword [eax], vtable.CListElxT_0_.0
and ecx, 0x10
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax + 4], vtable.CBufferT_class_ElxInterface__.0
mov dword [eax + 0x14], edi
mov dword [eax + 0x10], edi
mov dword [eax + 0x18], ecx
mov esi, eax
mov dword [ebp - 0x24], eax
jmp 0x100105a8
xor esi, esi
mov dword [ebp - 0x24], esi
mov eax, dword [ebx + 0x24]
cmp dword [ebx + 0x1c], eax
jl 0x100105e4
add eax, eax
mov dword [ebp - 0x1c], eax
cmp eax, 8
jge 0x100105c1
mov dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebx + 0x20]
lea ecx, [eax*4]
push ecx
push edx
call fcn.1003b570
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x1c]
add esp, 8
mov dword [ebx + 0x24], eax
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x20]
mov dword [edx + ecx*4], esi
mov eax, 1
add dword [ebx + 0x1c], eax
add dword [ebx + 8], eax
mov eax, dword [ebx + 8]
push 0x20
mov dword [ebp - 0x18], eax
call fcn.1003a591
add esp, 4
cmp eax, edi
je 0x1001063e
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.CBracketElxT_char_.0
shr ecx, 4
and ecx, 1
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], edi
mov dword [eax + 0xc], vtable.CBufferT_char_.0
mov dword [eax + 0x1c], edi
mov dword [eax + 0x18], edi
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [ebp - 0x20], eax
jmp 0x10010641
mov dword [ebp - 0x20], edi
mov eax, dword [ebx + 0x24]
cmp dword [ebx + 0x1c], eax
jl 0x1001067d
add eax, eax
mov dword [ebp - 0x1c], eax
cmp eax, 8
jge 0x1001065a
mov dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebx + 0x20]
lea ecx, [eax*4]
push ecx
push edx
call fcn.1003b570
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x1c]
add esp, 8
mov dword [ebx + 0x24], eax
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebx + 0x20]
mov dword [edx + ecx*4], eax
inc dword [ebx + 0x1c]
mov eax, dword [esi + 0x14]
cmp dword [esi + 0xc], eax
jl 0x100106c8
add eax, eax
mov dword [ebp - 0x1c], eax
cmp eax, 8
jge 0x100106a5
mov dword [ebp - 0x1c], 8
mov ecx, dword [ebp - 0x1c]
mov eax, dword [esi + 0x10]
lea edx, [ecx*4]
push edx
push eax
call fcn.1003b570
mov ecx, dword [ebp - 0x1c]
add esp, 8
mov dword [esi + 0x10], eax
mov dword [esi + 8], eax
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp - 0x20]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp + 8]
inc dword [esi + 0xc]
mov eax, dword [edx]
push eax
mov ecx, ebx
call fcn.1000d320
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x14]
cmp dword [esi + 0xc], eax
jl 0x10010723
add eax, eax
mov dword [ebp - 0x20], eax
cmp eax, 8
jge 0x10010700
mov dword [ebp - 0x20], 8
mov ecx, dword [ebp - 0x20]
mov eax, dword [esi + 0x10]
lea edx, [ecx*4]
push edx
push eax
call fcn.1003b570
mov ecx, dword [ebp - 0x20]
add esp, 8
mov dword [esi + 0x10], eax
mov dword [esi + 8], eax
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + edx*4], ecx
inc dword [esi + 0xc]
push 0x20
call fcn.1003a591
add esp, 4
cmp eax, edi
je 0x10010774
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
mov edx, dword [ebp - 0x18]
shr ecx, 4
mov dword [eax], vtable.CBracketElxT_char_.0
not ecx
and ecx, 1
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], edi
mov dword [eax + 0xc], vtable.CBufferT_char_.0
mov dword [eax + 0x1c], edi
mov dword [eax + 0x18], edi
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [ebp + 8], eax
jmp 0x10010777
mov dword [ebp + 8], edi
mov eax, dword [ebx + 0x24]
cmp dword [ebx + 0x1c], eax
jl 0x100107a9
lea edi, [eax + eax]
cmp edi, 8
jge 0x1001078c
mov edi, 8
mov ecx, dword [ebx + 0x20]
lea eax, [edi*4]
push eax
push ecx
call fcn.1003b570
add esp, 8
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x24], edi
mov edx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x20]
mov ecx, dword [ebp + 8]
mov dword [eax + edx*4], ecx
inc dword [ebx + 0x1c]
mov eax, dword [esi + 0x14]
cmp dword [esi + 0xc], eax
jl 0x100107ea
lea edi, [eax + eax]
cmp edi, 8
jge 0x100107cd
mov edi, 8
mov eax, dword [esi + 0x10]
lea edx, [edi*4]
push edx
push eax
call fcn.1003b570
add esp, 8
mov dword [esi + 0x10], eax
mov dword [esi + 8], eax
mov dword [esi + 0x14], edi
mov esi, dword [ebp - 0x24]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov eax, dword [ebp + 8]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x18]
inc dword [esi + 0xc]
push ecx
lea edi, [ebx + 0x28]
call fcn.100117b0
mov edx, dword [ebx + 0x34]
mov eax, dword [ebp - 0x18]
mov dword [edx + eax*4], esi
mov esi, ebx
call fcn.1000d270
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4