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

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 0x4c34e1
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x48
mov eax, dword [0x501040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
movups xmm0, xmmword [esi + 0xa4]
mov edi, dword [ebx + 8]
mov dword [ebp - 0x4c], edi
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43d320
cmp byte [esi + 0xa4], 0x3f
jne 0x43e6b5
cmp dword [esi + 0xa8], 1
jne 0x43e6b5
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
nop
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43d370
mov cl, byte [esi + 0xa4]
xor edx, edx
movsx eax, cl
mov ch, 0x3e
add eax, 0xffffffdf
mov dword [ebp - 0x44], edx
mov byte [ebp - 0x18], ch
cmp eax, 0x31
ja case.0x43d3a8.41
movzx eax, byte [eax + 0x43ea64]
mov dword [ebp - 0x48], 1
jmp dword [eax*4 + 0x43ea40]
mov dword [ebp - 0x48], edx
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
nop dword [eax]
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43d3e0
push 0xc
call fcn.00472d9c
mov edi, eax
add esp, 4
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x1c], edi
mov ecx, dword [ebp - 0x4c]
xorps xmm0, xmm0
mov dword [ebp - 4], 0
movq qword [edi], xmm0
mov dword [edi + 8], 0
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffffef
push eax
call fcn.00436cd0
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x48]
mov dword [edi], vtable.CAssertElxT_0_.0
mov dword [edi + 8], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x24]
cmp dword [esi + 0x20], eax
jl 0x43d473
lea edi, [eax + eax]
mov ecx, 4
mov eax, 8
cmp edi, eax
cmovl edi, eax
mov eax, edi
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
push dword [esi + 0x1c]
call fcn.004a613b
mov dword [esi + 0x1c], eax
add esp, 8
mov dword [esi + 0x24], edi
mov edi, dword [ebp - 0x40]
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
mov dword [eax + ecx*4], edi
inc dword [esi + 0x20]
jmp fcn.0043e67b
mov al, byte [esi + 0xb4]
mov dword [ebp - 0x44], eax
cmp al, 0x21
je 0x43d499
cmp al, 0x3d
jne case.0x43d3a8.39
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43d4c3
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43d4f8
push 0xc
call fcn.00472d9c
mov edi, eax
add esp, 4
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x1c], edi
mov ecx, dword [ebp - 0x4c]
xorps xmm0, xmm0
mov dword [ebp - 4], 1
movq qword [edi], xmm0
mov dword [edi + 8], 0
mov eax, dword [ecx]
mov ecx, esi
or eax, 0x10
push eax
call fcn.00436cd0
mov dword [edi + 4], eax
xor eax, eax
cmp byte [ebp - 0x44], 0x21
setne al
jmp 0x43d428
cmp cl, 0x50
jne case.0x43d3a8.34
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
nop word [eax + eax]
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43d580
mov ch, byte [ebp - 0x18]
mov al, byte [esi + 0xa4]
cmp al, 0x3c
jne 0x43d59e
mov byte [ebp - 0x48], 0x3e
jmp 0x43d5ae
mov edx, 0x27
movzx ecx, ch
cmp al, dl
cmove ecx, edx
mov dword [ebp - 0x48], ecx
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43d5d8
push 0x18
call fcn.00472d9c
mov ecx, eax
xorps xmm0, xmm0
mov dword [ebp - 0x1c], ecx
add esp, 4
mov dword [ebp - 0x40], ecx
movups xmmword [ecx], xmm0
movq qword [ecx + 0x10], xmm0
mov eax, dword [edi]
mov dword [ecx], vtable.CListElxT_0_.0
and eax, 0x10
mov dword [ecx + 0xc], 0
mov dword [ecx + 4], vtable.CBufferT_class_ElxInterface__.0
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0x14], eax
mov eax, 8
mov edi, dword [esi + 0x24]
lea ecx, [eax - 4]
cmp dword [esi + 0x20], edi
jl 0x43d65f
add edi, edi
cmp edi, eax
cmovl edi, eax
mov eax, edi
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
push dword [esi + 0x1c]
call fcn.004a613b
add esp, 8
mov dword [esi + 0x1c], eax
mov dword [esi + 0x24], edi
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x40]
push 0x30
mov dword [eax + ecx*4], edx
inc dword [esi + 0x20]
call fcn.00472d9c
add esp, 4
mov edi, eax
mov dword [ebp - 0x50], edi
push 0x30
push 0
push edi
call fcn.0049cfc0
mov ecx, dword [ebp - 0x4c]
add esp, 0xc
mov ecx, dword [ecx]
mov dword [edi], vtable.CBracketElxT_char_.0
mov dword [edi + 0x18], 0
mov dword [edi + 0x10], vtable.CBufferT_char_.0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x14], 0
shr ecx, 4
mov dword [edi + 0x28], 0
and ecx, 1
mov dword [edi + 0x20], vtable.CBufferT_char_.0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x24], 0
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], ecx
mov dword [edi + 0xc], 0xffffffff
mov eax, dword [esi + 0x24]
cmp dword [esi + 0x20], eax
jl 0x43d720
lea edi, [eax + eax]
mov ecx, 4
cmp edi, 8
mov eax, 8
cmovl edi, eax
mov eax, edi
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
push dword [esi + 0x1c]
call fcn.004a613b
mov dword [esi + 0x24], edi
add esp, 8
mov edi, dword [ebp - 0x50]
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
push 0x30
mov dword [eax + ecx*4], edi
inc dword [esi + 0x20]
call fcn.00472d9c
add esp, 4
mov dword [ebp - 0x58], eax
push 0x30
push 0
push eax
call fcn.0049cfc0
mov eax, dword [ebp - 0x4c]
add esp, 0xc
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
shr ecx, 4
not ecx
and ecx, 1
mov dword [eax], vtable.CBracketElxT_char_.0
mov dword [eax + 0x18], 0
mov dword [eax + 0x10], vtable.CBufferT_char_.0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x20], vtable.CBufferT_char_.0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x24], 0
mov dword [eax + 4], 0xffffffff
mov dword [eax + 8], ecx
mov dword [eax + 0xc], 0xffffffff
mov eax, dword [esi + 0x24]
cmp dword [esi + 0x20], eax
jl 0x43d7e1
lea edi, [eax + eax]
mov ecx, 4
cmp edi, 8
mov eax, 8
cmovl edi, eax
mov eax, edi
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
push dword [esi + 0x1c]
call fcn.004a613b
mov dword [esi + 0x24], edi
add esp, 8
mov edi, dword [ebp - 0x50]
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 0x20]
xorps xmm0, xmm0
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x58]
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x24], 0
mov dword [eax + ecx*4], edx
lea ecx, [edi + 0x10]
inc dword [esi + 0x20]
lea eax, [edi + 0x20]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x2c], vtable.CBufferT_char_.0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 4], 2
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x3c], vtable.CBufferT_char_.0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x38], 0
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 3
mov dword [ebp - 0x54], eax
mov al, byte [esi + 0xa4]
test al, al
je 0x43d91f
mov edi, dword [ebp - 0x1c]
cmp al, byte [ebp - 0x48]
je 0x43d91c
cmp al, 0x2d
jne 0x43d8ae
movups xmm0, xmmword [esi + 0xa4]
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x54], eax
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43d8a1
jmp 0x43d90b
push ecx
mov byte [ebp - 0x18], al
lea eax, [ebp - 0x18]
push 1
push eax
call fcn.0043c720
mov al, byte [esi + 0xa4]
push ecx
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 0x18], al
lea eax, [ebp - 0x18]
push 1
push eax
call fcn.0043c720
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
nop
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43d900
mov al, byte [esi + 0xa4]
mov ecx, dword [ebp - 0x44]
test al, al
jne 0x43d861
mov edi, dword [ebp - 0x50]
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
nop dword [eax]
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43d950
mov ecx, dword [ebp - 0x28]
lea edx, [ebp - 0x48]
test ecx, ecx
mov eax, 0x4f2170
cmovne eax, ecx
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], eax
call fcn.0043b560
test eax, eax
je 0x43d9b3
mov eax, dword [ebp - 0x54]
cmp byte [eax], 0
jne 0x43d9b3
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x48]
mov dword [edi + 4], eax
mov dword [ecx + 4], eax
mov eax, dword [edi + 0x14]
mov dword [edi + 0x14], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x18], 0
test eax, eax
je 0x43d9b3
push eax
call fcn.004a0cd5
add esp, 4
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x48]
test eax, eax
mov ecx, 0x4f2170
cmovne ecx, eax
mov dword [ebp - 0x54], ecx
lea ecx, [ebp - 0x54]
call fcn.0043b560
test eax, eax
je 0x43da0b
mov eax, dword [ebp - 0x54]
cmp byte [eax], 0
jne 0x43da0b
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x48]
mov dword [edi + 0xc], eax
mov dword [ecx + 0xc], eax
mov eax, dword [edi + 0x24]
mov dword [edi + 0x24], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x28], 0
test eax, eax
je 0x43da0b
push eax
call fcn.004a0cd5
add esp, 4
mov edi, dword [ebp - 0x40]
mov eax, dword [edi + 0x10]
cmp dword [edi + 0xc], eax
jl 0x43da4f
lea edi, [eax + eax]
mov ecx, 4
cmp edi, 8
mov eax, 8
cmovl edi, eax
mov eax, edi
mul ecx
mov edx, dword [ebp - 0x40]
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
push dword [edx + 8]
call fcn.004a613b
mov ecx, dword [ebp - 0x40]
add esp, 8
mov dword [ecx + 0x10], edi
mov edi, ecx
mov dword [ecx + 8], eax
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x50]
mov dword [eax + ecx*4], edx
mov ecx, esi
mov eax, dword [ebp - 0x4c]
inc dword [edi + 0xc]
push dword [eax]
call fcn.00436cd0
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x1c], eax
cmp dword [edi + 0xc], ecx
jl 0x43daae
lea edi, [ecx + ecx]
mov eax, 8
cmp edi, 8
mov ecx, 4
cmovl edi, eax
mov eax, edi
mul ecx
mov edx, dword [ebp - 0x40]
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
push dword [edx + 8]
call fcn.004a613b
mov ecx, dword [ebp - 0x40]
add esp, 8
mov dword [ecx + 0x10], edi
mov edi, ecx
mov dword [ecx + 8], eax
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x1c]
mov dword [eax + ecx*4], edx
mov eax, dword [edi + 0xc]
inc eax
mov dword [edi + 0xc], eax
mov ecx, dword [edi + 0x10]
cmp eax, ecx
jl 0x43db01
lea edi, [ecx + ecx]
mov eax, 8
cmp edi, 8
mov ecx, 4
cmovl edi, eax
mov eax, edi
mul ecx
mov edx, dword [ebp - 0x40]
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
push dword [edx + 8]
call fcn.004a613b
mov ecx, dword [ebp - 0x40]
add esp, 8
mov dword [ecx + 0x10], edi
mov edi, ecx
mov dword [ecx + 8], eax
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x58]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x50]
inc dword [edi + 0xc]
cmp dword [eax + 4], 0
jge 0x43db46
cmp dword [eax + 0x18], 0
jg 0x43db46
cmp dword [eax + 0xc], 0
jge 0x43db2b
cmp dword [eax + 0x28], 0
jle 0x43db68
mov ecx, dword [esi + 0x14]
push ecx
mov dword [ebp - 0x1c], ecx
push ecx
lea eax, [ecx + 1]
lea ecx, [esi + 0x78]
mov dword [esi + 0x14], eax
call fcn.00436bc0
mov eax, dword [esi + 0x7c]
jmp 0x43db5f
mov ecx, dword [esi + 0xc]
push ecx
mov dword [ebp - 0x1c], ecx
push ecx
lea eax, [ecx + 1]
lea ecx, [esi + 0x48]
mov dword [esi + 0xc], eax
call fcn.00436bc0
mov eax, dword [esi + 0x4c]
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x40]
mov dword [eax + ecx*4], edi
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x43e53e
push eax
call fcn.004a0cd5
add esp, 4
jmp 0x43e53e
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
nop dword [eax + eax]
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43dbb0
push 8
call fcn.00472d9c
mov edi, eax
add esp, 4
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x4c]
xorps xmm0, xmm0
mov dword [ebp - 4], 4
mov ecx, esi
movq qword [edi], xmm0
push dword [eax]
call fcn.00436cd0
mov dword [edi], vtable.CIndependentElxT_0_.0
mov dword [edi + 4], eax
jmp 0x43d431
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
nop
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43dc20
mov al, byte [esi + 0xa4]
test al, al
je 0x43dc85
movsx eax, al
push eax
call fcn.004a5f90
add esp, 4
test eax, eax
je 0x43dc85
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
nop
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43dc70
mov al, byte [esi + 0xa4]
test al, al
jne 0x43dc35
mov al, byte [esi + 0xa4]
cmp al, 0x3c
je 0x43dd2e
cmp al, 0x27
je 0x43dd2e
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x2c], vtable.CBufferT_char_.0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], ecx
mov dword [ebp - 4], 6
test al, al
je 0x43e43f
nop dword [eax + eax]
cmp al, 0x29
je 0x43e43c
push ecx
mov byte [ebp - 0x18], al
lea ecx, [ebp - 0x2c]
push 1
lea eax, [ebp - 0x18]
push eax
call fcn.0043c720
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43dd14
mov al, byte [esi + 0xa4]
test al, al
jne 0x43dcd0
jmp 0x43e43c
cmp al, 0x3c
mov edx, 0x3e
mov ecx, 0x27
cmove ecx, edx
push 0x1c
mov dword [ebp - 0x44], ecx
call fcn.00472d9c
mov edi, eax
xorps xmm0, xmm0
mov dword [ebp - 0x1c], edi
mov eax, 8
add esp, 4
mov dword [ebp - 0x40], edi
movups xmmword [edi], xmm0
lea ecx, [eax - 4]
movq qword [edi + 0x10], xmm0
mov dword [edi + 0x18], 0
mov dword [edi], vtable.CDelegateElxT_char_.0
mov dword [edi + 0x14], 0
mov dword [edi + 0xc], vtable.CBufferT_char_.0
mov dword [edi + 0x18], 0
mov dword [edi + 0x10], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0xfffffffd
mov edx, dword [esi + 0x24]
cmp dword [esi + 0x20], edx
jl 0x43ddcd
lea edi, [edx + edx]
cmp edi, eax
cmovl edi, eax
mov eax, edi
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
push dword [esi + 0x1c]
call fcn.004a613b
mov dword [esi + 0x24], edi
add esp, 8
mov edi, dword [ebp - 0x40]
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
mov dword [eax + ecx*4], edi
inc dword [esi + 0x20]
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43de03
xorps xmm0, xmm0
lea eax, [edi + 0xc]
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x2c], vtable.CBufferT_char_.0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 4], 5
mov al, byte [esi + 0xa4]
test al, al
je 0x43dec0
mov edi, dword [ebp - 0x1c]
nop dword [eax + eax]
cmp al, byte [ebp - 0x44]
je 0x43debd
push ecx
mov byte [ebp - 0x18], al
mov ecx, edi
push 1
lea eax, [ebp - 0x18]
push eax
call fcn.0043c720
mov al, byte [esi + 0xa4]
push ecx
mov byte [ebp - 0x18], al
lea ecx, [ebp - 0x2c]
push 1
lea eax, [ebp - 0x18]
push eax
call fcn.0043c720
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43dea8
mov al, byte [esi + 0xa4]
test al, al
jne 0x43de50
mov edi, dword [ebp - 0x40]
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
nop word [eax + eax]
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43def0
mov ecx, dword [ebp - 0x28]
lea edx, [ebp - 0x1c]
test ecx, ecx
mov eax, 0x4f2170
cmovne eax, ecx
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x44], eax
call fcn.0043b560
test eax, eax
je 0x43df4d
mov eax, dword [ebp - 0x44]
cmp byte [eax], 0
jne 0x43df4d
mov eax, dword [ebp - 0x1c]
mov dword [edi + 8], eax
mov ecx, dword [edi + 0x10]
mov dword [edi + 0x10], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x14], 0
test ecx, ecx
je 0x43df4d
push ecx
call fcn.004a0cd5
add esp, 4
mov eax, dword [esi + 0x44]
cmp dword [esi + 0x40], eax
jl 0x43e532
lea edi, [eax + eax]
mov eax, 8
cmp edi, 8
cmovl edi, eax
jmp 0x43e50c
push 0x24
call fcn.00472d9c
mov edi, eax
xorps xmm0, xmm0
mov dword [ebp - 0x1c], edi
mov eax, 8
add esp, 4
mov dword [ebp - 0x40], edi
movups xmmword [edi], xmm0
lea ecx, [eax - 4]
movups xmmword [edi + 0x10], xmm0
mov dword [edi + 0x20], 0
mov dword [edi], vtable.CConditionElxT_char_.0
mov dword [edi + 0x10], 0
mov dword [edi + 8], vtable.CBufferT_char_.0
mov dword [edi + 0x14], 0
mov dword [edi + 0xc], 0
mov dword [edi + 4], 0xffffffff
mov edx, dword [esi + 0x24]
cmp dword [esi + 0x20], edx
jl 0x43dff1
lea edi, [edx + edx]
cmp edi, eax
cmovl edi, eax
mov eax, edi
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
push dword [esi + 0x1c]
call fcn.004a613b
mov dword [esi + 0x24], edi
add esp, 8
mov edi, dword [ebp - 0x40]
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
mov dword [eax + ecx*4], edi
inc dword [esi + 0x20]
cmp byte [esi + 0xb4], 0x3f
jne 0x43e021
cmp dword [esi + 0xb8], 1
jne 0x43e021
push dword [ebp - 0x4c]
mov ecx, esi
call fcn.0043d2b0
mov dword [edi + 0x18], eax
jmp fcn.0043e2d6
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
nop dword [eax + eax]
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43e050
mov eax, dword [esi + 0xac]
push 0xc
mov dword [ebp - 0x50], eax
call fcn.00472d9c
add esp, 4
mov dword [ebp - 0x44], eax
mov dword [ebp - 4], 7
xorps xmm0, xmm0
movq qword [eax], xmm0
mov ecx, esi
mov dword [eax + 8], 0
mov eax, dword [ebp - 0x4c]
push dword [eax]
call fcn.00436cd0
mov edx, dword [ebp - 0x44]
mov dword [edx], vtable.CAssertElxT_0_.0
mov dword [edx + 4], eax
mov dword [edx + 8], 1
mov eax, dword [esi + 0x24]
cmp dword [esi + 0x20], eax
jl 0x43e0e4
lea edi, [eax + eax]
mov ecx, 4
cmp edi, 8
mov eax, 8
test cl, cl
je 0x43e3a7
nop dword [eax]
movsx eax, cl
push eax
call fcn.004a5f90
add esp, 4
test eax, eax
je 0x43e3a5
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
nop word [eax + eax]
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43e390
mov cl, byte [esi + 0xa4]
test cl, cl
jne 0x43e350
xor edx, edx
mov al, byte [esi + 0xa4]
cmp al, 0x30
jl 0x43e55e
cmp al, 0x39
jg 0x43e55e
xorps xmm0, xmm0
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x2c], vtable.CBufferT_char_.0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 4], 9
cmp al, 0x29
je 0x43e43c
push ecx
mov byte [ebp - 0x18], al
lea ecx, [ebp - 0x2c]
push 1
lea eax, [ebp - 0x18]
push eax
call fcn.0043c720
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43e427
mov al, byte [esi + 0xa4]
test al, al
jne 0x43e3e7
mov ecx, dword [ebp - 0x28]
test ecx, ecx
mov dword [ebp - 0x44], 0
mov eax, 0x4f2170
lea edx, [ebp - 0x44]
cmovne eax, ecx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.0043b560
push 0x1c
call fcn.00472d9c
mov edi, eax
xorps xmm0, xmm0
mov dword [ebp - 0x1c], edi
mov ecx, 4
mov eax, dword [ebp - 0x44]
add esp, 4
mov dword [ebp - 0x40], edi
movups xmmword [edi], xmm0
lea edx, [ecx + 4]
movq qword [edi + 0x10], xmm0
mov dword [edi + 0x18], 0
mov dword [edi], vtable.CDelegateElxT_char_.0
mov dword [edi + 0x14], 0
mov dword [edi + 0xc], vtable.CBufferT_char_.0
mov dword [edi + 0x18], 0
mov dword [edi + 0x10], 0
mov dword [edi + 4], 0
mov dword [edi + 8], eax
mov eax, dword [esi + 0x24]
cmp dword [esi + 0x20], eax
jl 0x43e4ef
lea edi, [eax + eax]
cmp edi, edx
cmovl edi, edx
mov eax, edi
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
push dword [esi + 0x1c]
call fcn.004a613b
mov dword [esi + 0x24], edi
add esp, 8
mov edi, dword [ebp - 0x40]
mov edx, 8
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x20]
mov dword [eax + ecx*4], edi
inc dword [esi + 0x20]
mov eax, dword [esi + 0x44]
cmp dword [esi + 0x40], eax
jl 0x43e532
lea edi, [eax + eax]
cmp edi, 8
cmovl edi, edx
mov ecx, 4
mov eax, edi
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
push dword [esi + 0x3c]
call fcn.004a613b
mov dword [esi + 0x3c], eax
add esp, 8
mov dword [esi + 0x44], edi
mov edi, dword [ebp - 0x40]
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x3c]
mov dword [eax + ecx*4], edi
inc dword [esi + 0x40]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x28]
test eax, eax
je fcn.0043e67b
push eax
call fcn.004a0cd5
add esp, 4
jmp fcn.0043e67b
mov edi, dword [edi]
mov al, byte [esi + 0xa4]
test al, al
jne 0x43e586
cmp dword [esi + 0xa8], 1
jne 0x43e5a3
mov eax, dword [ebp - 0x4c]
mov ecx, esi
push 0
mov dword [eax], edi
call fcn.004381c0
jmp 0x43e679
cmp al, 0x3a
je 0x43e633
cmp al, 0x29
je 0x43e573
cmp al, 0x28
jne 0x43e5a3
cmp dword [esi + 0xa8], 1
je 0x43e633
movsx eax, al
xor ecx, ecx
add eax, 0xffffffd3
cmp eax, 0x46
ja case.0x43e5b7.46
movzx eax, byte [eax + 0x43eab0]
jmp dword [eax*4 + 0x43ea98]
mov ecx, 8
test edx, edx
je 0x43e5ef
not ecx
and edi, ecx
jmp 0x43e5f1
mov ecx, 1
jmp case.0x43e5b7.46
mov ecx, 2
jmp case.0x43e5b7.46
mov ecx, 4
jmp case.0x43e5b7.46
not ecx
mov dword [ebp - 0x44], 1
and edi, ecx
jmp 0x43e5f1
or edi, ecx
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
nop dword [eax + eax]
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43e620
mov edx, dword [ebp - 0x44]
jmp 0x43e560
cmp byte [esi + 0xa4], 0x3a
jne 0x43e671
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43e666
push edi
mov ecx, esi
call fcn.00436cd0
mov edi, eax
push 0x18
call fcn.00472d9c
mov edi, eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x4c]
add esp, 4
mov dword [ebp - 0x40], edi
movups xmmword [edi], xmm0
movq qword [edi + 0x10], xmm0
mov ecx, dword [eax]
mov eax, 8
mov dword [edi], vtable.CListElxT_0_.0
and ecx, 0x10
mov dword [edi + 0xc], 0
mov dword [edi + 4], vtable.CBufferT_class_ElxInterface__.0
mov dword [edi + 0x10], 0
mov dword [edi + 8], 0
mov dword [edi + 0x14], ecx
lea ecx, [eax - 4]
mov edx, dword [esi + 0x24]
cmp dword [esi + 0x20], edx
jl 0x43e735
lea edi, [edx + edx]
cmp edi, eax
cmovl edi, eax
mov eax, edi
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
push dword [esi + 0x1c]
call fcn.004a613b
mov dword [esi + 0x24], edi
add esp, 8
mov edi, dword [ebp - 0x40]
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
push 0x30
mov dword [eax + ecx*4], edi
inc dword [esi + 0x20]
inc dword [esi + 8]
mov eax, dword [esi + 8]
mov dword [ebp - 0x50], eax
call fcn.00472d9c
add esp, 4
mov dword [ebp - 0x48], eax
push 0x30
push 0
push eax
call fcn.0049cfc0
mov eax, dword [ebp - 0x4c]
add esp, 0xc
mov edx, dword [ebp - 0x50]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x48]
shr ecx, 4
and ecx, 1
mov dword [eax], vtable.CBracketElxT_char_.0
mov dword [eax + 0x18], 0
mov dword [eax + 0x10], vtable.CBufferT_char_.0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x20], vtable.CBufferT_char_.0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x24], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], 0xffffffff
mov eax, dword [esi + 0x24]
cmp dword [esi + 0x20], eax
jl 0x43e7fc
lea edi, [eax + eax]
mov ecx, 4
cmp edi, 8
mov eax, 8
cmovl edi, eax
mov eax, edi
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
push dword [esi + 0x1c]
call fcn.004a613b
mov dword [esi + 0x24], edi
add esp, 8
mov edi, dword [ebp - 0x40]
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x48]
mov dword [eax + ecx*4], edx
inc dword [esi + 0x20]
mov eax, dword [edi + 0x10]
cmp dword [edi + 0xc], eax
jl 0x43e84f
lea edi, [eax + eax]
mov ecx, 4
cmp edi, 8
mov eax, 8
cmovl edi, eax
mov eax, edi
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
mov eax, dword [ebp - 0x40]
push dword [eax + 8]
call fcn.004a613b
mov ecx, dword [ebp - 0x40]
add esp, 8
mov edx, dword [ebp - 0x48]
mov dword [ecx + 0x10], edi
mov edi, ecx
mov dword [ecx + 8], eax
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 8]
mov dword [eax + ecx*4], edx
mov ecx, esi
mov eax, dword [ebp - 0x4c]
inc dword [edi + 0xc]
push dword [eax]
call fcn.00436cd0
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x1c], eax
cmp dword [edi + 0xc], ecx
jl 0x43e8ab
lea edi, [ecx + ecx]
mov eax, 8
cmp edi, 8
mov ecx, 4
cmovl edi, eax
mov eax, edi
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
mov eax, dword [ebp - 0x40]
push dword [eax + 8]
call fcn.004a613b
mov ecx, dword [ebp - 0x40]
add esp, 8
mov dword [ecx + 0x10], edi
mov edi, ecx
mov dword [ecx + 8], eax
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x1c]
push 0x30
mov dword [eax + ecx*4], edx
inc dword [edi + 0xc]
call fcn.00472d9c
add esp, 4
mov dword [ebp - 0x48], eax
push 0x30
push 0
push eax
call fcn.0049cfc0
mov eax, dword [ebp - 0x4c]
add esp, 0xc
mov edx, dword [ebp - 0x50]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x48]
shr ecx, 4
not ecx
and ecx, 1
mov dword [eax], vtable.CBracketElxT_char_.0
mov dword [eax + 0x18], 0
mov dword [eax + 0x10], vtable.CBufferT_char_.0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x20], vtable.CBufferT_char_.0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x24], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], 0xffffffff
mov eax, dword [esi + 0x24]
cmp dword [esi + 0x20], eax
jl 0x43e96e
lea edi, [eax + eax]
mov ecx, 4
cmp edi, 8
mov eax, 8
cmovl edi, eax
mov eax, edi
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
push dword [esi + 0x1c]
call fcn.004a613b
mov dword [esi + 0x24], edi
add esp, 8
mov edi, dword [ebp - 0x40]
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x48]
mov dword [eax + ecx*4], edx
inc dword [esi + 0x20]
mov eax, dword [edi + 0x10]
cmp dword [edi + 0xc], eax
jl 0x43e9c1
lea edi, [eax + eax]
mov ecx, 4
cmp edi, 8
mov eax, 8
cmovl edi, eax
mov eax, edi
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
mov eax, dword [ebp - 0x40]
push dword [eax + 8]
call fcn.004a613b
mov ecx, dword [ebp - 0x40]
add esp, 8
mov edx, dword [ebp - 0x48]
mov dword [ecx + 0x10], edi
mov edi, ecx
mov dword [ecx + 8], eax
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 8]
push ecx
push dword [ebp - 0x50]
mov dword [eax + ecx*4], edx
lea ecx, [esi + 0x28]
inc dword [edi + 0xc]
call fcn.00436bc0
mov eax, dword [esi + 0x2c]
mov ecx, dword [ebp - 0x50]
mov dword [eax + ecx*4], edi
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [esi + 0x94], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [esi + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esi + 0xb4], xmm0
nop dword [eax]
mov ecx, esi
call fcn.00437730
test eax, eax
je 0x43ea10