Function at 0x420b10
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e0784
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push esi
push edi
mov eax, dword [0x524a60]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
movups xmm0, xmmword [esi + 0x90]
movups xmmword [esi + 0x80], xmm0
movups xmm0, xmmword [esi + 0xa0]
movups xmmword [esi + 0x90], xmm0
movups xmm0, xmmword [esi + 0xb0]
movups xmmword [esi + 0xa0], xmm0
mov ecx, esi
call fcn.00422fb0
test eax, eax
je 0x420b63
cmp word [esi + 0x90], 0x3f
jne 0x421833
cmp dword [esi + 0x94], 1
jne 0x421833
mov ecx, esi
call fcn.004267c0
movzx ecx, word [esi + 0x90]
xor edx, edx
mov dword [ebp - 0x14], edx
lea eax, [ecx - 0x21]
cmp eax, 0x31
ja case.default.0x420baf
movzx eax, byte [eax + 0x421b28]
jmp dword [eax*4 + 0x421b04]
mov dword [ebp - 0x14], 1
mov ecx, esi
call fcn.004267c0
push 0xc
call fcn.004a12b0
mov edi, eax
add esp, 4
mov dword [ebp - 0x30], edi
mov dword [ebp - 4], 0
test edi, edi
je 0x420c16
mov eax, dword [ebp + 8]
mov ecx, esi
mov eax, dword [eax]
and eax, 0xffffffef
push eax
call fcn.0041f9a0
mov dword [edi + 4], eax
mov ecx, esi
mov eax, dword [ebp - 0x14]
xor eax, 1
mov dword [edi], vtable.CAssertElxT_0_.0
push edi
mov dword [edi + 8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.004245d0
mov edi, eax
jmp 0x421ae8
xor edi, edi
push edi
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
call fcn.004245d0
mov edi, eax
jmp 0x421ae8
movzx eax, word [esi + 0xa0]
mov ecx, eax
mov dword [ebp - 0x24], ecx
cmp eax, 0x21
je 0x420c44
cmp eax, 0x3d
jne case.0x420baf.80
mov ecx, esi
call fcn.004267c0
mov ecx, esi
call fcn.004267c0
push 0xc
call fcn.004a12b0
mov edi, eax
add esp, 4
mov dword [ebp - 0x30], edi
mov dword [ebp - 4], 1
test edi, edi
je 0x420c94
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
or ecx, 0x10
push ecx
mov ecx, esi
call fcn.0041f9a0
mov dword [edi + 4], eax
xor eax, eax
cmp word [ebp - 0x24], 0x21
mov dword [edi], vtable.CAssertElxT_0_.0
setne al
mov dword [edi + 8], eax
jmp 0x420c96
xor edi, edi
push edi
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
call fcn.004245d0
mov edi, eax
test edi, edi
jne 0x421ae8
movzx eax, word [esi + 0x90]
mov ecx, eax
cmp eax, 0x50
jne case.0x420baf.39
mov ecx, esi
call fcn.004267c0
movzx ecx, word [esi + 0x90]
cmp cx, 0x3c
jne 0x420cda
mov dword [ebp - 0x1c], 0x3e
jmp 0x420ced
mov eax, 0x27
mov edi, 0x3e
cmp cx, ax
cmove edi, eax
mov dword [ebp - 0x1c], edi
mov ecx, esi
call fcn.004267c0
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x30], eax
inc eax
push 0x18
mov dword [ebp - 0x18], eax
mov dword [esi + 0xc], eax
call fcn.004a12b0
add esp, 4
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x420d41
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov dword [eax], vtable.CListElxT_0_.0
and ecx, 0x10
mov dword [eax + 0xc], 0
mov dword [eax + 4], vtable.CBufferT_class_ElxInterface__.0
mov dword [eax + 0x10], 0
mov dword [eax + 8], 0
mov dword [eax + 0x14], ecx
jmp 0x420d43
xor eax, eax
push eax
mov ecx, esi
call fcn.004245d0
mov edi, eax
push 0x1c
mov dword [ebp - 0x10], edi
call fcn.004a12b0
add esp, 4
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x420d9a
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov dword [eax], vtable.CBracketElxT_unsigned_short_int_.0
shr ecx, 4
and ecx, 1
mov dword [eax + 0x14], 0
mov dword [eax + 0xc], vtable.CBufferT_unsigned_short_int_.0
mov dword [eax + 0x18], 0
mov dword [eax + 0x10], 0
mov dword [eax + 4], 0xffffffff
mov dword [eax + 8], ecx
jmp 0x420d9c
xor eax, eax
push eax
mov ecx, esi
call fcn.004245d0
push 0x1c
mov dword [ebp - 0x14], eax
call fcn.004a12b0
add esp, 4
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x420df3
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
shr ecx, 4
mov dword [eax], vtable.CBracketElxT_unsigned_short_int_.0
not ecx
and ecx, 1
mov dword [eax + 0x14], 0
mov dword [eax + 0xc], vtable.CBufferT_unsigned_short_int_.0
mov dword [eax + 0x18], 0
mov dword [eax + 0x10], 0
mov dword [eax + 4], 0xffffffff
mov dword [eax + 8], ecx
jmp 0x420df5
xor eax, eax
push eax
mov ecx, esi
call fcn.004245d0
mov edx, dword [ebp - 0x14]
xor ecx, ecx
add edx, 0xc
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x40], vtable.CBufferT_char_.0
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x3c], ecx
movzx eax, word [esi + 0x90]
mov dword [ebp - 4], 2
test ax, ax
je 0x420f02
mov ecx, eax
xor edi, edi
nop word [eax + eax]
cmp cx, word [ebp - 0x1c]
je 0x420eff
movzx eax, cx
mov ecx, edx
push 1
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push 1
push eax
call fcn.0041efc0
movzx edx, word [esi + 0x90]
mov ecx, 0xff
and cx, dx
movzx eax, dl
cmp cx, dx
mov ecx, 0
cmove ecx, eax
mov eax, 8
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x34]
cmp ecx, 8
cmovl ecx, eax
lea eax, [edi + 2]
cmp eax, ecx
lea edx, [ecx + ecx]
cmovle edx, ecx
mov dword [ebp - 0x20], edx
cmp eax, edx
jle 0x420eb5
lea edx, [edi + 0xd]
mov eax, edx
and eax, 0x80000007
jns 0x420eb0
dec eax
or eax, 0xfffffff8
inc eax
sub edx, eax
mov dword [ebp - 0x20], edx
cmp edx, dword [ebp - 0x34]
jle 0x420ed2
mov ecx, dword [ebp - 0x3c]
push edx
push ecx
call fcn.004b961c
mov ecx, dword [ebp - 0x20]
add esp, 8
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], ecx
jmp 0x420ed5
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x28]
mov byte [edi + eax], cl
inc edi
mov ecx, esi
mov dword [ebp - 0x38], edi
mov byte [edi + eax], 0
call fcn.004267c0
movzx eax, word [esi + 0x90]
mov edx, dword [ebp - 0x2c]
mov ecx, eax
test ax, ax
jne 0x420e40
mov edi, dword [ebp - 0x10]
mov ecx, esi
call fcn.004267c0
mov ecx, dword [ebp - 0x3c]
mov eax, 0x4eef88
test ecx, ecx
cmovne eax, ecx
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00427090
add esp, 8
test eax, eax
je 0x420f4c
mov eax, dword [ebp - 0x20]
cmp byte [eax], 0
jne 0x420f4c
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov dword [edx + 4], eax
mov dword [ecx + 4], eax
lea ecx, [edx + 0xc]
call fcn.00427140
push dword [ebp - 0x14]
add edi, 4
mov ecx, edi
call fcn.00427040
mov eax, dword [ebp + 8]
mov ecx, esi
push dword [eax]
call fcn.0041f9a0
push eax
mov ecx, edi
call fcn.00427040
push dword [ebp - 0x24]
mov ecx, edi
call fcn.00427040
mov ecx, dword [esi + 0x50]
mov edx, dword [ebp - 0x18]
cmp edx, ecx
jle 0x420fc7
cmp ecx, 8
mov eax, 8
cmovl ecx, eax
cmp edx, ecx
lea edi, [ecx + ecx]
cmovle edi, ecx
cmp edx, edi
jle 0x420fab
lea edi, [edx + 0xb]
mov eax, edi
and eax, 0x80000007
jns 0x420fa9
dec eax
or eax, 0xfffffff8
inc eax
sub edi, eax
lea eax, [edi*4]
push eax
push dword [esi + 0x48]
call fcn.004b961c
mov edx, dword [ebp - 0x18]
add esp, 8
mov dword [esi + 0x48], eax
mov dword [esi + 0x50], edi
mov ecx, dword [esi + 0x4c]
cmp ecx, edx
jge 0x420fed
mov eax, edx
sub eax, ecx
shl eax, 2
push eax
mov eax, dword [esi + 0x48]
push 0
lea eax, [eax + ecx*4]
push eax
call fcn.004b1030
mov eax, dword [ebp - 0x18]
add esp, 0xc
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x48]
mov ecx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x10]
mov dword [eax + ecx*4], edi
jmp 0x421702
mov ecx, esi
call fcn.004267c0
push 8
call fcn.004a12b0
mov edi, eax
add esp, 4
mov dword [ebp - 0x30], edi
mov dword [ebp - 4], 3
test edi, edi
je 0x420c16
mov ecx, dword [ebp + 8]
push dword [ecx]
mov ecx, esi
call fcn.0041f9a0
mov dword [edi], vtable.CIndependentElxT_0_.0
mov dword [edi + 4], eax
jmp 0x420c18
mov ecx, esi
call fcn.004267c0
movzx eax, word [esi + 0x90]
test ax, ax
je 0x421077
mov ecx, eax
movzx eax, cx
push eax
call fcn.004b9b71
add esp, 4
test eax, eax
je 0x421077
mov ecx, esi
call fcn.004267c0
movzx eax, word [esi + 0x90]
mov ecx, eax
test ax, ax
jne 0x421052
movzx ecx, word [esi + 0x90]
cmp ecx, 0x3c
je 0x421175
cmp ecx, 0x27
je 0x421175
xor edx, edx
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x40], vtable.CBufferT_char_.0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x3c], edx
mov dword [ebp - 4], 5
test cx, cx
je 0x4210f2
mov edx, ecx
cmp dx, 0x29
je 0x4210ef
movzx eax, dl
xor edi, edi
cmp ax, dx
movzx ecx, dl
push 1
cmovne ecx, edi
movzx eax, cl
lea ecx, [ebp - 0x40]
push eax
call fcn.0041ef30
mov ecx, esi
call fcn.004267c0
movzx eax, word [esi + 0x90]
mov edx, eax
test ax, ax
jne 0x4210b8
mov edx, dword [ebp - 0x3c]
test edx, edx
mov dword [ebp + 8], 0
mov eax, 0x4eef88
cmovne eax, edx
mov dword [ebp - 0x30], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00427090
push 0x1c
call fcn.004a12b0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x30], ecx
test ecx, ecx
je 0x421164
mov eax, dword [ebp + 8]
mov dword [ecx], vtable.CDelegateElxT_unsigned_short_int_.0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0xc], vtable.CBufferT_unsigned_short_int_.0
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], eax
push ecx
mov ecx, esi
call fcn.004245d0
mov edi, eax
jmp 0x4212bf
xor ecx, ecx
push ecx
mov ecx, esi
call fcn.004245d0
mov edi, eax
jmp 0x4212bf
cmp ecx, 0x3c
mov edx, 0x3e
mov eax, 0x27
cmove eax, edx
movzx eax, ax
push 0x1c
mov dword [ebp + 8], eax
call fcn.004a12b0
add esp, 4
mov dword [ebp - 0x30], eax
test eax, eax
je 0x4211ce
mov dword [eax], vtable.CDelegateElxT_unsigned_short_int_.0
mov dword [eax + 0x14], 0
mov dword [eax + 0xc], vtable.CBufferT_unsigned_short_int_.0
mov dword [eax + 0x18], 0
mov dword [eax + 0x10], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0xfffffffd
jmp 0x4211d0
xor eax, eax
push eax
mov ecx, esi
call fcn.004245d0
mov edi, eax
mov ecx, esi
mov dword [ebp - 0x10], edi
call fcn.004267c0
lea edx, [edi + 0xc]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x40], vtable.CBufferT_char_.0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x3c], 0
movzx eax, word [esi + 0x90]
mov dword [ebp - 4], 4
test ax, ax
je 0x42127e
mov edi, dword [ebp + 8]
mov ecx, eax
nop
cmp cx, di
je 0x42127b
movzx eax, cx
mov ecx, edx
push 1
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push 1
push eax
call fcn.0041efc0
movzx edx, word [esi + 0x90]
movzx eax, dl
cmp ax, dx
movzx ecx, dl
mov dword [ebp + 8], 0
cmovne ecx, dword [ebp + 8]
movzx eax, cl
lea ecx, [ebp - 0x40]
push 1
push eax
call fcn.0041ef30
mov ecx, esi
call fcn.004267c0
movzx eax, word [esi + 0x90]
mov edx, dword [ebp - 0x30]
mov ecx, eax
test ax, ax
jne 0x421220
mov edi, dword [ebp - 0x10]
mov ecx, esi
call fcn.004267c0
mov ecx, dword [ebp - 0x3c]
mov eax, 0x4eef88
test ecx, ecx
cmovne eax, ecx
mov dword [ebp + 8], eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00427090
add esp, 8
test eax, eax
je 0x4212bf
mov eax, dword [ebp + 8]
cmp byte [eax], 0
jne 0x4212bf
mov eax, dword [ebp - 0x30]
lea ecx, [edi + 0xc]
mov dword [edi + 8], eax
call fcn.00427140
push edi
lea ecx, [esi + 0x34]
call fcn.00427040
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0xffffffff
call fcn.0041de40
jmp 0x421ae8
push 0x24
call fcn.004a12b0
add esp, 4
mov dword [ebp - 0x30], eax
test eax, eax
je 0x421318
mov dword [eax], vtable.CConditionElxT_unsigned_short_int_.0
mov dword [eax + 0x10], 0
mov dword [eax + 8], vtable.CBufferT_unsigned_short_int_.0
mov dword [eax + 0x14], 0
mov dword [eax + 0xc], 0
mov dword [eax + 4], 0xffffffff
jmp 0x42131a
xor eax, eax
push eax
mov ecx, esi
call fcn.004245d0
mov edi, eax
mov dword [ebp - 0x3c], 1
mov eax, 0x3f
mov dword [ebp - 0x10], edi
mov word [ebp - 0x40], ax
lea ecx, [esi + 0xa0]
lea eax, [ebp - 0x40]
mov dword [ebp - 0x38], 0
push eax
mov dword [ebp - 0x34], 0
call fcn.0041e4f0
mov ecx, esi
test eax, eax
je 0x42136b
mov eax, dword [ebp + 8]
push eax
call fcn.00420b10
mov dword [edi + 0x18], eax
jmp 0x4214f0
call fcn.004267c0
mov eax, dword [esi + 0x98]
push 0xc
mov dword [ebp - 0x14], eax
call fcn.004a12b0
add esp, 4
mov dword [ebp - 0x30], eax
mov dword [ebp - 4], 6
test eax, eax
je 0x4213b2
mov eax, dword [ebp + 8]
mov ecx, esi
push dword [eax]
call fcn.0041f9a0
mov ecx, dword [ebp - 0x30]
mov dword [ecx], vtable.CAssertElxT_0_.0
mov dword [ecx + 4], eax
mov dword [ecx + 8], 1
jmp 0x4213b4
xor ecx, ecx
push ecx
mov ecx, esi
call fcn.004245d0
mov edx, dword [ebp - 0x14]
mov ecx, 0x4eef74
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x78]
test eax, eax
push 1
cmovne ecx, eax
mov eax, dword [esi + 0x98]
sub eax, edx
push eax
lea eax, [ecx + edx*2]
push eax
lea ecx, [edi + 8]
call fcn.0041efc0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x40], vtable.CBufferT_char_.0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x3c], 0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 4], 7
cmp ecx, dword [esi + 0x98]
jge 0x421462
cmp ecx, dword [esi + 0x7c]
jl 0x42141d
xor eax, eax
jmp 0x421424
mov eax, dword [esi + 0x78]
movzx eax, word [eax + ecx*2]
movzx edx, ax
movzx eax, al
cmp ax, dx
movzx ecx, dl
mov dword [ebp - 0x30], 0
cmovne ecx, dword [ebp - 0x30]
movzx eax, cl
lea ecx, [ebp - 0x40]
push 1
push eax
call fcn.0041ef30
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [esi + 0x98]
jl 0x421414
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x421469
mov dword [ebp - 0x18], 0x4eef88
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00427090
add esp, 8
test eax, eax
je 0x421494
mov eax, dword [ebp - 0x18]
cmp byte [eax], 0
jne 0x421494
mov eax, dword [ebp - 0x30]
mov dword [edi + 4], eax
mov dword [edi + 0x18], 0
jmp 0x4214da
mov dword [edi + 4], 0xffffffff
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
cmp ecx, eax
jl 0x4214d1
lea edi, [eax + eax]
mov eax, 8
cmp edi, eax
cmovl edi, eax
lea eax, [edi*4]
push eax
push dword [esi + 0x68]
call fcn.004b961c
mov ecx, dword [esi + 0x6c]
add esp, 8
mov dword [esi + 0x70], edi
mov edi, dword [ebp - 0x10]
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], edi
inc dword [esi + 0x6c]
mov ecx, esi
call fcn.004267c0
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0xffffffff
call fcn.0041de40
mov eax, dword [ebp + 8]
mov ecx, esi
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
call fcn.004209b0
mov dword [edi + 0x1c], eax
cmp word [esi + 0x90], 0x7c
jne 0x42152b
mov ecx, esi
call fcn.004267c0
mov eax, dword [ebp + 8]
mov ecx, esi
push dword [eax]
call fcn.0041f9a0
mov dword [edi + 0x20], eax
jmp 0x421ae8
mov dword [edi + 0x20], 0
jmp 0x421ae8
movzx ecx, word [esi + 0x90]
test cx, cx
je 0x42159b
movzx ecx, cx
movzx eax, cx
push eax
call fcn.004b9b71
add esp, 4
test eax, eax
je 0x421599
movups xmm0, xmmword [esi + 0x90]
movups xmmword [esi + 0x80], xmm0
movups xmm0, xmmword [esi + 0xa0]
movups xmmword [esi + 0x90], xmm0
movups xmm0, xmmword [esi + 0xb0]
movups xmmword [esi + 0xa0], xmm0
mov ecx, esi
call fcn.00422fb0
test eax, eax
je 0x421580
movzx eax, word [esi + 0x90]
mov ecx, eax
test ax, ax
jne 0x421546
xor edx, edx
movzx eax, word [esi + 0x90]
add eax, 0xffffffd0
cmp ax, 9
ja 0x421722
xor edx, edx
mov dword [ebp - 0x40], vtable.CBufferT_char_.0
xor edi, edi
mov dword [ebp - 0x38], edx
xor ecx, ecx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x3c], ecx
movzx eax, word [esi + 0x90]
mov dword [ebp - 4], 8
test ax, ax
je 0x421688
mov dword [ebp - 0x18], eax
nop
cmp ax, 0x29
je 0x421685
mov ecx, 0xff
mov dword [ebp + 8], 0
and cx, ax
movzx eax, al
cmp cx, word [ebp - 0x18]
mov ecx, dword [ebp + 8]
cmove ecx, eax
cmp edi, 8
mov dword [ebp + 8], ecx
mov eax, 8
mov ecx, edi
cmovl ecx, eax
lea eax, [edx + 2]
cmp eax, ecx
lea edi, [ecx + ecx]
cmovle edi, ecx
cmp eax, edi
jle 0x421638
lea edi, [edx + 0xd]
mov eax, edi
and eax, 0x80000007
jns 0x421636
dec eax
or eax, 0xfffffff8
inc eax
sub edi, eax
mov eax, dword [ebp - 0x3c]
cmp edi, dword [ebp - 0x34]
jle 0x421655
push edi
push eax
call fcn.004b961c
mov edx, dword [ebp - 0x38]
add esp, 8
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], edi
jmp 0x421658
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp + 8]
mov byte [edx + eax], cl
inc edx
mov ecx, esi
mov dword [ebp - 0x38], edx
mov byte [edx + eax], 0
call fcn.004267c0
movzx eax, word [esi + 0x90]
mov edx, dword [ebp - 0x38]
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ax, ax
jne 0x4215e0
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
mov dword [ebp + 8], 0
mov eax, 0x4eef88
cmovne eax, ecx
mov dword [ebp - 0x30], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00427090
push 0x1c
call fcn.004a12b0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x30], ecx
test ecx, ecx
je 0x4216ed
mov eax, dword [ebp + 8]
mov dword [ecx], vtable.CDelegateElxT_unsigned_short_int_.0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0xc], vtable.CBufferT_unsigned_short_int_.0
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], eax
jmp 0x4216ef
xor ecx, ecx
push ecx
mov ecx, esi
call fcn.004245d0
mov edi, eax
lea ecx, [esi + 0x34]
push edi
call fcn.00427040
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
test eax, eax
je 0x421ae8
push eax
call fcn.004b3fc9
add esp, 4
jmp 0x421ae8
mov ecx, dword [ebp + 8]
mov edi, dword [ecx]
nop word [eax + eax]
movzx eax, word [esi + 0x90]
test ax, ax
jne 0x421749
cmp dword [esi + 0x94], 1
je 0x421808
cmp eax, 0x3a
je 0x42181d
cmp eax, 0x29
je 0x4217f5
cmp eax, 0x28
jne 0x42176d
cmp dword [esi + 0x94], 1
je 0x421824
add eax, 0xffffffd3
xor ecx, ecx
cmp eax, 0x46
ja case.0x42177e.46
movzx eax, byte [eax + 0x421b74]
jmp dword [eax*4 + 0x421b5c]
mov ecx, 8
test edx, edx
je 0x4217b6
not ecx
and edi, ecx
jmp 0x4217b8
mov ecx, 1
jmp case.0x42177e.46
mov ecx, 2
jmp case.0x42177e.46
mov ecx, 4
jmp case.0x42177e.46
not ecx
mov dword [ebp - 0x14], 1
and edi, ecx
jmp 0x4217b8
or edi, ecx
movups xmm0, xmmword [esi + 0x90]
movups xmmword [esi + 0x80], xmm0
movups xmm0, xmmword [esi + 0xa0]
movups xmmword [esi + 0x90], xmm0
movups xmm0, xmmword [esi + 0xb0]
movups xmmword [esi + 0xa0], xmm0
mov ecx, esi
call fcn.00422fb0
test eax, eax
je 0x4217e2
mov edx, dword [ebp - 0x14]
jmp 0x421730
cmp eax, 0x3a
je 0x42181d
cmp eax, 0x28
jne 0x421808
cmp dword [esi + 0x94], 1
je 0x421824
mov eax, dword [ebp + 8]
mov ecx, esi
push 0
mov dword [eax], edi
call fcn.004237e0
mov edi, eax
jmp 0x421ae8
mov ecx, esi
call fcn.004267c0
push edi
mov ecx, esi
call fcn.0041f9a0
mov edi, eax
jmp 0x421ae8
push 0x18
call fcn.004a12b0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x10], ecx
test ecx, ecx
je 0x421875
mov eax, dword [ebp + 8]
mov eax, dword [eax]
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
jmp 0x42187c
mov dword [ebp - 0x10], 0
mov ecx, dword [esi + 0x1c]
mov eax, 8
mov edi, dword [esi + 0x20]
cmp ecx, edi
jl 0x4218ae
add edi, edi
cmp edi, eax
cmovl edi, eax
lea eax, [edi*4]
push eax
push dword [esi + 0x18]
call fcn.004b961c
mov ecx, dword [esi + 0x1c]
add esp, 8
mov dword [esi + 0x18], eax
mov dword [esi + 0x20], edi
mov eax, dword [esi + 0x18]
mov edi, dword [ebp - 0x10]
push 0x1c
mov dword [eax + ecx*4], edi
inc dword [esi + 0x1c]
inc dword [esi + 8]
mov eax, dword [esi + 8]
mov dword [ebp - 0x14], eax
call fcn.004a12b0
add esp, 4
mov dword [ebp - 0x18], eax
test eax, eax
je 0x42190c
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ecx]
mov dword [eax], vtable.CBracketElxT_unsigned_short_int_.0
shr ecx, 4
and ecx, 1
mov dword [eax + 0x14], 0
mov dword [eax + 0xc], vtable.CBufferT_unsigned_short_int_.0
mov dword [eax + 0x18], 0
mov dword [eax + 0x10], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
jmp 0x421913
mov dword [ebp - 0x18], 0
mov edx, dword [esi + 0x1c]
mov eax, dword [esi + 0x20]
cmp edx, eax
jl 0x42194a
lea edi, [eax + eax]
mov eax, 8
cmp edi, 8
cmovl edi, eax
lea eax, [edi*4]
push eax
push dword [esi + 0x18]
call fcn.004b961c
mov edx, dword [esi + 0x1c]
add esp, 8
mov dword [esi + 0x20], edi
mov edi, dword [ebp - 0x10]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0x18]
mov dword [eax + edx*4], ecx
inc dword [esi + 0x1c]
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
cmp edx, eax
jl 0x421995
lea edi, [eax + eax]
mov eax, 8
cmp edi, 8
cmovl edi, eax
lea eax, [edi*4]
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 8]
call fcn.004b961c
mov ecx, dword [ebp - 0x10]
add esp, 8
mov dword [ecx + 0x10], edi
mov edi, ecx
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 8]
mov dword [eax + edx*4], ecx
mov ecx, esi
mov eax, dword [ebp + 8]
inc dword [edi + 0xc]
push dword [eax]
call fcn.0041f9a0
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x30], eax
cmp ecx, edx
jl 0x4219e9
lea edi, [edx + edx]
mov eax, 8
cmp edi, 8
cmovl edi, eax
lea eax, [edi*4]
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 8]
call fcn.004b961c
mov ecx, dword [ebp - 0x10]
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 - 0x30]
push 0x1c
mov dword [eax + ecx*4], edx
inc dword [edi + 0xc]
call fcn.004a12b0
add esp, 4
mov dword [ebp - 0x18], eax
test eax, eax
je 0x421a40
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ecx]
shr ecx, 4
mov dword [eax], vtable.CBracketElxT_unsigned_short_int_.0
not ecx
and ecx, 1
mov dword [eax + 0x14], 0
mov dword [eax + 0xc], vtable.CBufferT_unsigned_short_int_.0
mov dword [eax + 0x18], 0
mov dword [eax + 0x10], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
jmp 0x421a47
mov dword [ebp - 0x18], 0
mov edx, dword [esi + 0x1c]
mov eax, dword [esi + 0x20]
cmp edx, eax
jl 0x421a7e
lea edi, [eax + eax]
mov eax, 8
cmp edi, 8
cmovl edi, eax
lea eax, [edi*4]
push eax
push dword [esi + 0x18]
call fcn.004b961c
mov edx, dword [esi + 0x1c]
add esp, 8
mov dword [esi + 0x20], edi
mov edi, dword [ebp - 0x10]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0x18]
mov dword [eax + edx*4], ecx
inc dword [esi + 0x1c]
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
cmp edx, eax
jl 0x421ac9
lea edi, [eax + eax]
mov eax, 8
cmp edi, 8
cmovl edi, eax
lea eax, [edi*4]
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 8]
call fcn.004b961c
mov ecx, dword [ebp - 0x10]
add esp, 8
mov dword [ecx + 0x10], edi
mov edi, ecx
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 8]
push 0
push dword [ebp - 0x14]
mov dword [eax + edx*4], ecx
lea ecx, [esi + 0x24]
inc dword [edi + 0xc]
call fcn.00426f70
mov ecx, dword [esi + 0x28]
mov eax, dword [ebp - 0x14]
mov dword [ecx + eax*4], edi
mov ecx, esi
call fcn.004267c0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4