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

Disassembly:
push 0xffffffffffffffff
push 0x10023874
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1002e410]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov esi, ecx
call fcn.100085d0
cmp byte [esi + 0xa8], 0x3f
jne 0x10003ed0
cmp dword [esi + 0xac], 1
jne 0x10003ed0
mov ecx, esi
call fcn.100085d0
mov cl, byte [esi + 0xa8]
xor ebx, ebx
movsx eax, cl
add eax, 0xffffffdf
mov byte [esp + 0x17], 0x3e
cmp eax, 0x31
ja case.0x100032a2.34
movzx eax, byte [eax + 0x100041a0]
jmp dword [eax*4 + 0x1000417c]
mov ebx, 1
mov ecx, esi
call fcn.100085d0
push 0xc
call fcn.1001387b
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
mov dword [esp + 0x50], 0
test edi, edi
je 0x100032f7
mov eax, dword [esp + 0x58]
mov ecx, esi
mov eax, dword [eax]
and eax, 0xffffffef
push eax
call fcn.100023a0
mov dword [edi + 4], eax
xor eax, eax
test ebx, ebx
mov dword [edi], vtable.CAssertElxT_0_.0
sete al
mov dword [edi + 8], eax
jmp 0x100032f9
xor edi, edi
push edi
mov ecx, esi
mov dword [esp + 0x54], 0xffffffff
call fcn.10006dd0
mov ecx, esi
mov edi, eax
call fcn.100085d0
mov eax, edi
jmp 0x10004164
mov al, byte [esi + 0xb8]
cmp al, 0x21
je 0x10003329
cmp al, 0x3d
je 0x1000332e
jmp case.0x100032a2.80
mov ebx, 1
mov ecx, esi
call fcn.100085d0
mov ecx, esi
call fcn.100085d0
push 0xc
call fcn.1001387b
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
mov dword [esp + 0x50], 1
test edi, edi
je 0x1000337e
mov eax, dword [esp + 0x58]
mov ecx, dword [eax]
or ecx, 0x10
push ecx
mov ecx, esi
call fcn.100023a0
mov dword [edi + 4], eax
xor eax, eax
test ebx, ebx
mov dword [edi], vtable.CAssertElxT_0_.0
sete al
mov dword [edi + 8], eax
jmp 0x10003380
xor edi, edi
push edi
mov ecx, esi
mov dword [esp + 0x54], 0xffffffff
call fcn.10006dd0
mov edi, eax
test edi, edi
jne 0x10003ec2
cmp byte [esi + 0xa8], 0x50
jne case.0x100032a2.39
mov ecx, esi
call fcn.100085d0
mov al, byte [esi + 0xa8]
cmp al, 0x3c
jne 0x100033bb
mov byte [esp + 0x24], 0x3e
jmp 0x100033ce
movzx ebx, byte [esp + 0x17]
mov ecx, 0x27
cmp al, cl
cmove ebx, ecx
mov dword [esp + 0x24], ebx
mov ecx, esi
call fcn.100085d0
mov eax, dword [esi + 0xc]
mov dword [esp + 0x30], eax
inc eax
push 0x1c
mov dword [esi + 0xc], eax
call fcn.1001387b
mov ebx, dword [esp + 0x5c]
add esp, 4
test eax, eax
je 0x10003401
mov ecx, dword [ebx]
and ecx, 0x10
push ecx
mov ecx, eax
call fcn.10001330
jmp 0x10003403
xor eax, eax
push eax
mov ecx, esi
call fcn.10006dd0
mov edi, eax
push 0x20
mov dword [esp + 0x1c], edi
call fcn.1001387b
add esp, 4
test eax, eax
je 0x10003433
mov ecx, dword [ebx]
shr ecx, 4
and ecx, 1
push ecx
push 0xffffffffffffffff
mov ecx, eax
call fcn.10001060
jmp 0x10003435
xor eax, eax
push eax
mov ecx, esi
call fcn.10006dd0
mov ebp, eax
push 0x20
mov dword [esp + 0x24], ebp
call fcn.1001387b
add esp, 4
test eax, eax
je 0x10003467
mov ecx, dword [ebx]
shr ecx, 4
not ecx
and ecx, 1
push ecx
push 0xffffffffffffffff
mov ecx, eax
call fcn.10001060
jmp 0x10003469
xor eax, eax
push eax
mov ecx, esi
call fcn.10006dd0
lea edx, [ebp + 0xc]
mov dword [esp + 0x28], eax
xor ebp, ebp
mov dword [esp + 0x1c], edx
xor ebx, ebx
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x34], vtable.CBufferT_char_.0
mov dword [esp + 0x44], ebp
mov dword [esp + 0x40], ebx
mov dword [esp + 0x50], 2
cmp byte [esi + 0xa8], bl
je 0x100035c3
lea eax, [ebp + 8]
jmp 0x100034c0
mov cl, byte [esi + 0xa8]
mov byte [esp + 0x17], cl
cmp cl, byte [esp + 0x24]
je 0x100035bf
mov ecx, dword [edx + 0x10]
cmp ecx, 8
mov edi, ecx
cmovl edi, eax
mov eax, dword [edx + 8]
add eax, 2
cmp eax, edi
jle 0x10003505
add edi, edi
cmp eax, edi
jle 0x10003505
mov edi, dword [edx + 8]
add edi, 0xd
mov eax, edi
and eax, 0x80000007
jns 0x10003503
dec eax
or eax, 0xfffffff8
inc eax
sub edi, eax
cmp edi, ecx
jle 0x10003522
push edi
push dword [edx + 0xc]
call fcn.10013adb
mov edx, dword [esp + 0x24]
add esp, 8
mov dword [edx + 0xc], eax
mov dword [edx + 4], eax
mov dword [edx + 0x10], edi
mov eax, dword [edx + 8]
add eax, dword [edx + 0xc]
mov cl, byte [esp + 0x17]
mov byte [eax], cl
inc dword [edx + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 8]
mov byte [ecx + eax], 0
mov al, byte [esi + 0xa8]
mov ecx, dword [esp + 0x44]
mov edi, ecx
mov byte [esp + 0x17], al
cmp ecx, 8
mov eax, 8
cmovl edi, eax
lea eax, [ebp + 2]
cmp eax, edi
jle 0x10003576
add edi, edi
cmp eax, edi
jle 0x10003576
lea edi, [ebp + 0xd]
mov eax, edi
and eax, 0x80000007
jns 0x10003574
dec eax
or eax, 0xfffffff8
inc eax
sub edi, eax
cmp edi, ecx
jle 0x10003592
push edi
push ebx
call fcn.10013adb
mov ebx, eax
mov dword [esp + 0x4c], edi
add esp, 8
mov dword [esp + 0x40], ebx
mov dword [esp + 0x38], ebx
mov al, byte [esp + 0x17]
mov ecx, esi
mov byte [ebx + ebp], al
inc ebp
mov dword [esp + 0x3c], ebp
mov byte [ebx + ebp], 0
call fcn.100085d0
cmp byte [esi + 0xa8], 0
mov eax, 8
mov edx, dword [esp + 0x1c]
jne 0x100034c0
mov edi, dword [esp + 0x18]
mov ecx, esi
call fcn.100085d0
test ebx, ebx
mov eax, 0x10026604
cmovne eax, ebx
mov dword [esp + 0x24], eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.10008b20
mov ebp, dword [esp + 0x28]
add esp, 8
test eax, eax
je 0x10003618
mov eax, dword [esp + 0x24]
xor edx, edx
cmp byte [eax], dl
sete dl
test edx, edx
je 0x10003618
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov dword [ebp + 4], eax
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x1c]
call fcn.10008bd0
add edi, 4
push ebp
mov ecx, edi
call fcn.10008ad0
mov eax, dword [esp + 0x58]
mov ecx, esi
push dword [eax]
call fcn.100023a0
push eax
mov ecx, edi
call fcn.10008ad0
push dword [esp + 0x28]
mov ecx, edi
call fcn.10008ad0
mov ebp, dword [esp + 0x30]
lea ecx, [esi + 0x50]
push 0
push ebp
call fcn.10008960
mov eax, dword [esi + 0x5c]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x50], 0xffffffff
mov dword [eax + ebp*4], edi
test ebx, ebx
je 0x10003ec2
push ebx
call fcn.10013a11
add esp, 4
mov ecx, esi
call fcn.100085d0
mov eax, edi
jmp 0x10004164
mov ecx, esi
call fcn.100085d0
push 8
call fcn.1001387b
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
mov dword [esp + 0x50], 3
test edi, edi
je 0x100032f7
mov ecx, dword [esp + 0x58]
push dword [ecx]
mov ecx, esi
call fcn.100023a0
mov dword [edi], vtable.CIndependentElxT_0_.0
mov dword [edi + 4], eax
jmp 0x100032f9
mov ecx, esi
call fcn.100085d0
cmp byte [esi + 0xa8], bl
je 0x10003703
jmp 0x100036e0
movsx eax, byte [esi + 0xa8]
push eax
call fcn.10014123
add esp, 4
test eax, eax
je 0x10003703
mov ecx, esi
call fcn.100085d0
cmp byte [esi + 0xa8], bl
jne 0x100036e0
mov bl, byte [esi + 0xa8]
cmp bl, 0x3c
je 0x10003830
cmp bl, 0x27
je 0x10003830
lea ecx, [esp + 0x34]
call fcn.100010a0
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x50], 5
test bl, bl
je 0x100037bc
mov ebx, dword [esp + 0x3c]
mov edx, 8
mov al, byte [esi + 0xa8]
mov byte [esp + 0x58], al
cmp al, 0x29
je 0x100037bc
mov ecx, dword [esp + 0x44]
lea eax, [ebx + 2]
cmp ecx, 8
mov edi, ecx
cmovl edi, edx
cmp eax, edi
jle 0x1000377b
add edi, edi
cmp eax, edi
jle 0x1000377b
lea edi, [ebx + 0xd]
mov eax, edi
and eax, 0x80000007
jns 0x10003779
dec eax
or eax, 0xfffffff8
inc eax
sub edi, eax
cmp edi, ecx
jle 0x10003797
push edi
push ebp
call fcn.10013adb
mov ebp, eax
mov dword [esp + 0x4c], edi
add esp, 8
mov dword [esp + 0x40], ebp
mov dword [esp + 0x38], ebp
mov al, byte [esp + 0x58]
mov ecx, esi
mov byte [ebx + ebp], al
inc ebx
mov dword [esp + 0x3c], ebx
mov byte [ebx + ebp], 0
call fcn.100085d0
cmp byte [esi + 0xa8], 0
mov edx, 8
jne 0x10003741
test ebp, ebp
mov dword [esp + 0x58], 0
mov eax, 0x10026604
cmovne eax, ebp
mov dword [esp + 0x30], eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.10008b20
push 0x20
call fcn.1001387b
add esp, 0xc
test eax, eax
je 0x100037fc
push dword [esp + 0x58]
mov ecx, eax
call fcn.100012f0
jmp 0x100037fe
xor eax, eax
push eax
mov ecx, esi
call fcn.10006dd0
mov edi, eax
lea ecx, [esi + 0x3c]
push edi
call fcn.10008ad0
lea ecx, [esp + 0x34]
mov dword [esp + 0x50], 0xffffffff
call fcn.10001840
mov ecx, esi
call fcn.100085d0
mov eax, edi
jmp 0x10004164
mov ecx, 0x3e
cmp bl, 0x3c
mov eax, 0x27
cmove eax, ecx
push 0x20
mov dword [esp + 0x34], eax
call fcn.1001387b
add esp, 4
test eax, eax
je 0x1000385d
push 0xfffffffffffffffd
mov ecx, eax
call fcn.100012f0
jmp 0x1000385f
xor eax, eax
push eax
mov ecx, esi
call fcn.10006dd0
mov edi, eax
mov ecx, esi
mov dword [esp + 0x18], edi
call fcn.100085d0
lea ecx, [esp + 0x34]
lea ebx, [edi + 0xc]
call fcn.100010a0
cmp byte [esi + 0xa8], 0
mov dword [esp + 0x50], 4
je 0x100039a0
mov ebp, dword [esp + 0x3c]
mov eax, 8
mov edi, edi
mov cl, byte [esi + 0xa8]
mov byte [esp + 0x58], cl
cmp cl, byte [esp + 0x30]
je 0x1000399c
mov ecx, dword [ebx + 0x10]
mov edi, ecx
mov edx, dword [ebx + 8]
cmp ecx, 8
cmovl edi, eax
lea eax, [edx + 2]
cmp eax, edi
jle 0x100038e2
add edi, edi
cmp eax, edi
jle 0x100038e2
lea edi, [edx + 0xd]
mov eax, edi
and eax, 0x80000007
jns 0x100038e0
dec eax
or eax, 0xfffffff8
inc eax
sub edi, eax
cmp edi, ecx
jle 0x100038fb
push edi
push dword [ebx + 0xc]
call fcn.10013adb
add esp, 8
mov dword [ebx + 0xc], eax
mov dword [ebx + 4], eax
mov dword [ebx + 0x10], edi
mov eax, dword [ebx + 8]
add eax, dword [ebx + 0xc]
mov cl, byte [esp + 0x58]
mov byte [eax], cl
inc dword [ebx + 8]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov byte [ecx + eax], 0
mov al, byte [esi + 0xa8]
mov ecx, dword [esp + 0x44]
mov edi, ecx
mov byte [esp + 0x58], al
cmp ecx, 8
mov eax, 8
cmovl edi, eax
lea eax, [ebp + 2]
cmp eax, edi
jle 0x1000394f
add edi, edi
cmp eax, edi
jle 0x1000394f
lea edi, [ebp + 0xd]
mov eax, edi
and eax, 0x80000007
jns 0x1000394d
dec eax
or eax, 0xfffffff8
inc eax
sub edi, eax
cmp edi, ecx
jle 0x1000396f
mov ecx, dword [esp + 0x40]
push edi
push ecx
call fcn.10013adb
add esp, 8
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x44], edi
jmp 0x10003973
mov eax, dword [esp + 0x40]
mov cl, byte [esp + 0x58]
mov byte [eax + ebp], cl
inc ebp
mov ecx, esi
mov dword [esp + 0x3c], ebp
mov byte [eax + ebp], 0
call fcn.100085d0
cmp byte [esi + 0xa8], 0
mov eax, 8
jne 0x100038a0
mov edi, dword [esp + 0x18]
mov ecx, esi
call fcn.100085d0
mov ecx, dword [esp + 0x40]
mov eax, 0x10026604
test ecx, ecx
cmovne eax, ecx
mov dword [esp + 0x58], eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.10008b20
add esp, 8
test eax, eax
je 0x100039ec
mov eax, dword [esp + 0x58]
xor edx, edx
cmp byte [eax], dl
sete dl
test edx, edx
je 0x100039ec
mov eax, dword [esp + 0x30]
mov ecx, ebx
mov dword [edi + 8], eax
call fcn.10008bd0
push edi
lea ecx, [esi + 0x3c]
call fcn.10008ad0
lea ecx, [esp + 0x34]
mov dword [esp + 0x50], 0xffffffff
call fcn.10001840
mov ecx, esi
call fcn.100085d0
mov eax, edi
jmp 0x10004164
push 0x28
call fcn.1001387b
add esp, 4
test eax, eax
je 0x10003a2b
mov ecx, eax
call fcn.100012b0
jmp 0x10003a2d
xor eax, eax
push eax
mov ecx, esi
call fcn.10006dd0
mov edi, eax
mov byte [esp + 0x34], 0x3f
lea eax, [esp + 0x34]
mov dword [esp + 0x18], edi
push eax
lea ecx, [esi + 0xb8]
mov dword [esp + 0x3c], 1
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
call fcn.10001b40
mov ecx, esi
test eax, eax
je 0x10003a78
mov ebx, dword [esp + 0x58]
push ebx
call fcn.10003230
mov dword [edi + 0x1c], eax
jmp 0x10003c18
call fcn.100085d0
mov ebp, dword [esi + 0xb0]
push 0xc
call fcn.1001387b
mov ebx, eax
add esp, 4
mov dword [esp + 0x30], ebx
mov dword [esp + 0x50], 6
test ebx, ebx
je 0x10003abe
mov eax, dword [esp + 0x58]
mov ecx, esi
push dword [eax]
call fcn.100023a0
mov dword [ebx], vtable.CAssertElxT_0_.0
mov dword [ebx + 4], eax
mov dword [ebx + 8], 1
jmp 0x10003ac0
xor ebx, ebx
push ebx
mov ecx, esi
call fcn.10006dd0
mov dword [edi + 0x1c], eax
mov ecx, 0x100265f0
mov eax, dword [esi + 0x90]
test eax, eax
push 1
cmovne ecx, eax
mov eax, dword [esi + 0xb0]
sub eax, ebp
push eax
lea eax, [ecx + ebp]
push eax
lea ecx, [edi + 8]
call fcn.10001ff0
lea ecx, [esp + 0x34]
call fcn.100010a0
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x50], 7
cmp ebp, dword [esi + 0xb0]
jge 0x10003ba9
mov edx, dword [esp + 0x44]
mov eax, 8
mov ebx, dword [esp + 0x3c]
cmp ebp, dword [esi + 0x94]
jl 0x10003b2f
mov byte [esp + 0x17], 0
jmp 0x10003b41
mov eax, dword [esi + 0x90]
mov al, byte [eax + ebp]
mov byte [esp + 0x17], al
mov eax, 8
cmp edx, 8
mov edi, edx
cmovl edi, eax
lea eax, [ebx + 2]
cmp eax, edi
jle 0x10003b69
add edi, edi
cmp eax, edi
jle 0x10003b69
lea edi, [ebx + 0xd]
mov eax, edi
and eax, 0x80000007
jns 0x10003b67
dec eax
or eax, 0xfffffff8
inc eax
sub edi, eax
cmp edi, edx
jle 0x10003b7f
push edi
push ecx
call fcn.10013adb
mov ecx, eax
add esp, 8
mov dword [esp + 0x38], ecx
mov edx, edi
mov al, byte [esp + 0x17]
inc ebp
mov byte [ecx + ebx], al
inc ebx
mov eax, 8
mov byte [ecx + ebx], 0
cmp ebp, dword [esi + 0xb0]
jl 0x10003b20
mov edi, dword [esp + 0x18]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
test ecx, ecx
mov eax, 0x10026604
cmovne eax, ecx
mov dword [esp + 0x28], eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.10008b20
add esp, 8
test eax, eax
je 0x10003bec
mov eax, dword [esp + 0x28]
xor ecx, ecx
cmp byte [eax], cl
sete cl
test ecx, ecx
je 0x10003bec
mov eax, dword [esp + 0x30]
mov dword [edi + 4], eax
mov dword [edi + 0x1c], 0
jmp 0x10003bfc
push edi
lea ecx, [esi + 0x78]
mov dword [edi + 4], 0xffffffff
call fcn.10008ad0
mov ecx, esi
call fcn.100085d0
lea ecx, [esp + 0x34]
mov dword [esp + 0x50], 0xffffffff
call fcn.10001840
mov ebx, dword [esp + 0x58]
mov eax, dword [ebx]
mov ecx, esi
mov dword [esp + 0x58], eax
lea eax, [esp + 0x58]
push eax
call fcn.100030f0
mov dword [edi + 0x20], eax
cmp byte [esi + 0xa8], 0x7c
jne 0x10003c57
mov ecx, esi
call fcn.100085d0
push dword [ebx]
mov ecx, esi
call fcn.100023a0
mov ecx, esi
mov dword [edi + 0x24], eax
call fcn.100085d0
mov eax, edi
jmp 0x10004164
mov ecx, esi
mov dword [edi + 0x24], 0
call fcn.100085d0
mov eax, edi
jmp 0x10004164
test cl, cl
je 0x10003c93
movsx eax, byte [esi + 0xa8]
push eax
call fcn.10014123
add esp, 4
test eax, eax
je 0x10003c93
mov ecx, esi
call fcn.100085d0
cmp byte [esi + 0xa8], bl
jne 0x10003c70
mov al, byte [esi + 0xa8]
cmp al, 0x30
jl 0x10003dd7
cmp al, 0x39
jg 0x10003dd7
mov dword [esp + 0x38], ebx
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x34], vtable.CBufferT_char_.0
xor ebp, ebp
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x50], 8
test al, al
je 0x10003d5b
lea edx, [ebx + 8]
lea ebx, [ebx]
mov al, byte [esi + 0xa8]
mov byte [esp + 0x58], al
cmp al, 0x29
je 0x10003d5b
cmp ecx, 8
lea eax, [ebx + 2]
mov edi, ecx
cmovl edi, edx
cmp eax, edi
jle 0x10003d16
add edi, edi
cmp eax, edi
jle 0x10003d16
lea edi, [ebx + 0xd]
mov eax, edi
and eax, 0x80000007
jns 0x10003d14
dec eax
or eax, 0xfffffff8
inc eax
sub edi, eax
cmp edi, ecx
jle 0x10003d32
push edi
push ebp
call fcn.10013adb
mov ebp, eax
mov dword [esp + 0x4c], edi
add esp, 8
mov dword [esp + 0x40], ebp
mov dword [esp + 0x38], ebp
mov al, byte [esp + 0x58]
mov ecx, esi
mov byte [ebx + ebp], al
inc ebx
mov dword [esp + 0x3c], ebx
mov byte [ebx + ebp], 0
call fcn.100085d0
cmp byte [esi + 0xa8], 0
mov edx, 8
mov ecx, dword [esp + 0x44]
jne 0x10003ce0
test ebp, ebp
mov dword [esp + 0x58], 0
mov eax, 0x10026604
cmovne eax, ebp
mov dword [esp + 0x30], eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.10008b20
push 0x20
call fcn.1001387b
add esp, 0xc
test eax, eax
je 0x10003d9b
push dword [esp + 0x58]
mov ecx, eax
call fcn.100012f0
jmp 0x10003d9d
xor eax, eax
push eax
mov ecx, esi
call fcn.10006dd0
mov edi, eax
lea ecx, [esi + 0x3c]
push edi
call fcn.10008ad0
mov dword [esp + 0x50], 0xffffffff
test ebp, ebp
je 0x10003ec2
push ebp
call fcn.10013a11
add esp, 4
mov ecx, esi
call fcn.100085d0
mov eax, edi
jmp 0x10004164
mov ebp, dword [esp + 0x58]
mov edi, dword [ebp]
mov edi, edi
cmp byte [esi + 0xa8], 0
jne 0x10003df6
cmp dword [esi + 0xac], 1
je 0x10003e7a
mov al, byte [esi + 0xa8]
cmp al, 0x3a
je 0x10003e7a
cmp al, 0x29
je 0x10003e7a
cmp al, 0x28
jne 0x10003e11
cmp dword [esi + 0xac], 1
je 0x10003e7a
movsx eax, al
xor ecx, ecx
add eax, 0xffffffd3
cmp eax, 0x46
ja case.0x10003e25.46
movzx eax, byte [eax + 0x100041ec]
jmp dword [eax*4 + 0x100041d4]
mov ecx, 8
test ebx, ebx
je 0x10003e6c
not ecx
and edi, ecx
mov ecx, esi
call fcn.100085d0
jmp 0x10003de0
mov ecx, 1
jmp case.0x10003e25.46
mov ecx, 2
jmp case.0x10003e25.46
mov ecx, 4
jmp case.0x10003e25.46
not ecx
mov ebx, 1
and edi, ecx
mov ecx, esi
call fcn.100085d0
jmp 0x10003de0
or edi, ecx
mov ecx, esi
call fcn.100085d0
jmp 0x10003de0
mov al, byte [esi + 0xa8]
cmp al, 0x3a
je 0x10003eb1
cmp al, 0x28
jne 0x10003e91
cmp dword [esi + 0xac], 1
je 0x10003ead
push 0
mov ecx, esi
mov dword [ebp], edi
call fcn.10006900
mov ecx, esi
mov edi, eax
call fcn.100085d0
mov eax, edi
jmp 0x10004164
cmp al, 0x3a
jne 0x10003eb8
mov ecx, esi
call fcn.100085d0
push edi
mov ecx, esi
call fcn.100023a0
mov edi, eax
mov ecx, esi
call fcn.100085d0
mov eax, edi
jmp 0x10004164
push 0x1c
call fcn.1001387b
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10003f17
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
mov dword [ebx], vtable.CListElxT_0_.0
and eax, 0x10
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 4], vtable.CBufferT_class_ElxInterface__.0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x18], eax
jmp 0x10003f19
xor ebx, ebx
mov edi, dword [esi + 0x24]
mov eax, 8
cmp dword [esi + 0x1c], edi
jl 0x10003f49
add edi, edi
cmp edi, eax
cmovl edi, eax
lea eax, [edi*4]
push eax
push dword [esi + 0x20]
call fcn.10013adb
add esp, 8
mov dword [esi + 0x20], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x24], edi
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x20]
push 0x20
mov dword [eax + ecx*4], ebx
inc dword [esi + 0x1c]
inc dword [esi + 8]
mov edi, dword [esi + 8]
mov dword [esp + 0x2c], edi
call fcn.1001387b
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x10003fad
mov eax, dword [esp + 0x58]
mov ecx, dword [eax]
mov dword [ebp], vtable.CBracketElxT_char_.0
shr ecx, 4
and ecx, 1
mov dword [ebp + 0x10], 0
mov dword [ebp + 0x14], 0
mov dword [ebp + 0xc], vtable.CBufferT_char_.0
mov dword [ebp + 0x1c], 0
mov dword [ebp + 0x18], 0
mov dword [ebp + 4], edi
mov dword [ebp + 8], ecx
jmp 0x10003faf
xor ebp, ebp
mov edi, dword [esi + 0x24]
cmp dword [esi + 0x1c], edi
jl 0x10003fe0
add edi, edi
mov eax, 8
cmp edi, 8
cmovl edi, eax
lea eax, [edi*4]
push eax
push dword [esi + 0x20]
call fcn.10013adb
add esp, 8
mov dword [esi + 0x20], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x24], edi
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x20]
mov dword [eax + ecx*4], ebp
inc dword [esi + 0x1c]
mov edi, dword [ebx + 0x14]
cmp dword [ebx + 0xc], edi
jl 0x1000401d
add edi, edi
mov eax, 8
cmp edi, 8
cmovl edi, eax
lea eax, [edi*4]
push eax
push dword [ebx + 0x10]
call fcn.10013adb
add esp, 8
mov dword [ebx + 0x10], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0x14], edi
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
mov edi, dword [esp + 0x58]
mov dword [eax + ecx*4], ebp
mov ecx, esi
inc dword [ebx + 0xc]
push dword [edi]
call fcn.100023a0
mov ecx, dword [ebx + 0x14]
mov ebp, eax
cmp dword [ebx + 0xc], ecx
jl 0x1000406e
lea edi, [ecx + ecx]
mov eax, 8
cmp edi, 8
cmovl edi, eax
lea eax, [edi*4]
push eax
push dword [ebx + 0x10]
call fcn.10013adb
mov dword [ebx + 0x14], edi
add esp, 8
mov edi, dword [esp + 0x58]
mov dword [ebx + 0x10], eax
mov dword [ebx + 8], eax
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
push 0x20
mov dword [eax + ecx*4], ebp
inc dword [ebx + 0xc]
call fcn.1001387b
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x100040ca
mov ecx, dword [edi]
mov eax, dword [esp + 0x28]
shr ecx, 4
mov dword [ebp], vtable.CBracketElxT_char_.0
not ecx
and ecx, 1
mov dword [ebp + 0x10], 0
mov dword [ebp + 0x14], 0
mov dword [ebp + 0xc], vtable.CBufferT_char_.0
mov dword [ebp + 0x1c], 0
mov dword [ebp + 0x18], 0
mov dword [ebp + 4], eax
mov dword [ebp + 8], ecx
jmp 0x100040cc
xor ebp, ebp
mov edi, dword [esi + 0x24]
cmp dword [esi + 0x1c], edi
jl 0x100040fd
add edi, edi
mov eax, 8
cmp edi, 8
cmovl edi, eax
lea eax, [edi*4]
push eax
push dword [esi + 0x20]
call fcn.10013adb
add esp, 8
mov dword [esi + 0x20], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x24], edi
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x20]
mov dword [eax + ecx*4], ebp
inc dword [esi + 0x1c]
mov edi, dword [ebx + 0x14]
cmp dword [ebx + 0xc], edi
jl 0x1000413a
add edi, edi
mov eax, 8
cmp edi, 8
cmovl edi, eax
lea eax, [edi*4]
push eax
push dword [ebx + 0x10]
call fcn.10013adb
add esp, 8
mov dword [ebx + 0x10], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0x14], edi
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
push 0
mov dword [eax + ecx*4], ebp
lea ecx, [esi + 0x28]
mov ebp, dword [esp + 0x2c]
inc dword [ebx + 0xc]
push ebp
call fcn.10008960
mov ecx, dword [esi + 0x34]
mov dword [ecx + ebp*4], ebx
mov ecx, esi
call fcn.100085d0
mov eax, ebx
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 4