Function at 0x10003220
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10023ae4
mov eax, dword fs:[0]
push eax
sub esp, 0x44
push esi
push edi
mov eax, dword [0x10031be4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
movups xmm0, xmmword [esi + 0xa8]
movups xmmword [esi + 0x98], xmm0
movups xmm0, xmmword [esi + 0xb8]
movups xmmword [esi + 0xa8], xmm0
movups xmm0, xmmword [esi + 0xc8]
movups xmmword [esi + 0xb8], xmm0
mov ecx, esi
call fcn.10006170
test eax, eax
je 0x10003273
cmp byte [esi + 0xa8], 0x3f
jne 0x100040cf
cmp dword [esi + 0xac], 1
jne 0x100040cf
mov ecx, esi
call fcn.10008bd0
mov cl, byte [esi + 0xa8]
xor edx, edx
movsx eax, cl
add eax, 0xffffffdf
mov dword [ebp - 0x20], edx
mov byte [ebp - 0xd], 0x3e
cmp eax, 0x31
ja case.0x100032c4.34
movzx eax, byte [eax + 0x1000426c]
jmp dword [eax*4 + 0x10004248]
mov dword [ebp - 0x20], 1
mov ecx, esi
call fcn.10008bd0
push 0xc
call fcn.100142a7
mov edi, eax
add esp, 4
mov dword [ebp - 0x3c], edi
mov dword [ebp - 4], 0
test edi, edi
je 0x10003317
mov eax, dword [ebp + 8]
mov ecx, esi
mov eax, dword [eax]
and eax, 0xffffffef
push eax
call fcn.100020a0
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x20]
xor eax, 1
mov dword [edi], vtable.CAssertElxT_0_.0
mov dword [edi + 8], eax
jmp 0x10003319
xor edi, edi
push edi
lea ecx, [esi + 0x14]
mov dword [ebp - 4], 0xffffffff
call fcn.10009150
jmp 0x1000422b
mov al, byte [esi + 0xb8]
mov dword [ebp - 0x34], eax
cmp al, 0x21
je 0x1000333f
cmp al, 0x3d
jne case.0x100032c4.80
mov ecx, esi
call fcn.10008bd0
mov ecx, esi
call fcn.10008bd0
push 0xc
call fcn.100142a7
mov edi, eax
add esp, 4
mov dword [ebp - 0x3c], edi
mov dword [ebp - 4], 1
test edi, edi
je 0x1000338e
mov eax, dword [ebp + 8]
mov ecx, esi
mov eax, dword [eax]
or eax, 0x10
push eax
call fcn.100020a0
mov dword [edi + 4], eax
xor eax, eax
cmp byte [ebp - 0x34], 0x21
mov dword [edi], vtable.CAssertElxT_0_.0
setne al
mov dword [edi + 8], eax
jmp 0x10003390
xor edi, edi
push edi
lea ecx, [esi + 0x14]
mov dword [ebp - 4], 0xffffffff
call fcn.10009150
test edi, edi
jne 0x1000422b
mov cl, byte [esi + 0xa8]
cmp cl, 0x50
jne case.0x100032c4.39
mov ecx, esi
call fcn.10008bd0
mov cl, byte [esi + 0xa8]
cmp cl, 0x3c
jne 0x100033cb
mov byte [ebp - 0x30], 0x3e
jmp 0x100033dc
movzx eax, byte [ebp - 0xd]
mov edx, 0x27
cmp cl, dl
cmove eax, edx
mov dword [ebp - 0x30], eax
mov ecx, esi
call fcn.10008bd0
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x3c], eax
inc eax
push 0x1c
mov dword [ebp - 0x2c], eax
mov dword [esi + 0xc], eax
call fcn.100142a7
mov edi, eax
mov dword [ebp - 0x18], eax
add esp, 4
mov dword [ebp - 0x38], edi
test edi, edi
je 0x1000343c
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi], vtable.CListElxT_0_.0
and eax, 0x10
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [edi + 4], vtable.CBufferT_class_ElxInterface__.0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x18], eax
jmp 0x10003441
xor edi, edi
mov dword [ebp - 0x18], edi
lea ecx, [esi + 0x14]
push edi
call fcn.10009150
push 0x20
call fcn.100142a7
add esp, 4
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1000349b
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], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0xc], vtable.CBufferT_char_.0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 4], 0xffffffff
mov dword [eax + 8], ecx
jmp 0x100034a0
xor eax, eax
mov dword [ebp - 0x20], eax
push eax
lea ecx, [esi + 0x14]
call fcn.10009150
push 0x20
call fcn.100142a7
add esp, 4
mov dword [ebp - 0x28], eax
test eax, eax
je 0x100034fc
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
shr ecx, 4
mov dword [eax], vtable.CBracketElxT_char_.0
not ecx
and ecx, 1
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0xc], vtable.CBufferT_char_.0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 4], 0xffffffff
mov dword [eax + 8], ecx
jmp 0x10003501
xor eax, eax
mov dword [ebp - 0x28], eax
push eax
lea ecx, [esi + 0x14]
call fcn.10009150
mov eax, dword [ebp - 0x20]
xor ecx, ecx
add eax, 0xc
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x50], vtable.CBufferT_char_.0
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x44], ecx
mov cl, byte [esi + 0xa8]
mov edx, 8
mov dword [ebp - 4], 2
mov byte [ebp - 0xd], cl
mov dword [ebp - 0x14], edx
test cl, cl
je 0x10003676
xor edi, edi
jmp 0x10003557
mov edx, dword [ebp - 0x14]
cmp cl, byte [ebp - 0x30]
je 0x10003673
mov ecx, dword [eax + 0x10]
cmp ecx, 8
mov eax, dword [eax + 8]
mov dword [ebp - 0x38], ecx
cmovl ecx, edx
mov dword [ebp - 0x24], eax
add eax, 2
cmp eax, ecx
lea edx, [ecx + ecx]
cmovle edx, ecx
mov dword [ebp - 0x34], edx
cmp eax, edx
jle 0x1000359d
mov edx, dword [ebp - 0x24]
add edx, 0xd
mov eax, edx
and eax, 0x80000007
jns 0x10003598
dec eax
or eax, 0xfffffff8
inc eax
sub edx, eax
mov dword [ebp - 0x34], edx
cmp edx, dword [ebp - 0x38]
jle 0x100035ca
mov ecx, dword [ebp - 0x1c]
push edx
push dword [ecx + 0xc]
call fcn.1001804e
mov ecx, dword [ebp - 0x34]
mov edx, eax
mov eax, dword [ebp - 0x1c]
add esp, 8
mov dword [eax + 0x10], ecx
mov ecx, dword [eax + 8]
mov dword [eax + 0xc], edx
mov dword [eax + 4], edx
mov dword [ebp - 0x24], ecx
jmp 0x100035d0
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0xc]
mov edi, dword [ebp - 0x24]
mov cl, byte [ebp - 0xd]
mov byte [edi + edx], cl
inc dword [eax + 8]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edi, dword [ebp - 0x44]
mov byte [ecx + eax], 0
mov ecx, dword [ebp - 0x40]
cmp ecx, 8
mov al, byte [esi + 0xa8]
cmovl ecx, dword [ebp - 0x14]
mov byte [ebp - 0xd], al
mov eax, dword [ebp - 0x48]
add eax, 2
cmp eax, ecx
lea edx, [ecx + ecx]
cmovle edx, ecx
mov dword [ebp - 0x34], edx
cmp eax, edx
jle 0x1000362a
mov edx, dword [ebp - 0x48]
add edx, 0xd
mov eax, edx
and eax, 0x80000007
jns 0x10003625
dec eax
or eax, 0xfffffff8
inc eax
sub edx, eax
mov dword [ebp - 0x34], edx
cmp edx, dword [ebp - 0x40]
jle 0x10003647
push edx
push edi
call fcn.1001804e
mov edi, eax
add esp, 8
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
mov cl, byte [ebp - 0xd]
mov byte [eax + edi], cl
inc eax
mov ecx, esi
mov dword [ebp - 0x48], eax
mov byte [eax + edi], 0
call fcn.10008bd0
mov cl, byte [esi + 0xa8]
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 0xd], cl
test cl, cl
jne 0x10003554
mov edi, dword [ebp - 0x18]
mov ecx, esi
call fcn.10008bd0
mov ecx, dword [ebp - 0x44]
mov eax, 0x10028fec
test ecx, ecx
cmovne eax, ecx
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.100091b0
add esp, 8
test eax, eax
je 0x100036c0
mov eax, dword [ebp - 0x34]
cmp byte [eax], 0
jne 0x100036c0
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x1c]
call fcn.10009250
push dword [ebp - 0x20]
add edi, 4
mov ecx, edi
call fcn.10009150
mov eax, dword [ebp + 8]
mov ecx, esi
push dword [eax]
call fcn.100020a0
push eax
mov ecx, edi
call fcn.10009150
push dword [ebp - 0x28]
mov ecx, edi
call fcn.10009150
mov eax, dword [esi + 0x60]
mov edx, dword [ebp - 0x2c]
cmp edx, eax
jle 0x1000373a
cmp eax, 8
cmovl eax, dword [ebp - 0x14]
cmp edx, eax
lea edi, [eax + eax]
cmovle edi, eax
cmp edx, edi
jle 0x1000371b
lea edi, [edx + 0xb]
mov eax, edi
and eax, 0x80000007
jns 0x10003719
dec eax
or eax, 0xfffffff8
inc eax
sub edi, eax
lea eax, [edi*4]
push eax
push dword [esi + 0x5c]
call fcn.1001804e
mov edx, dword [ebp - 0x2c]
add esp, 8
mov dword [esi + 0x5c], eax
mov dword [esi + 0x54], eax
mov dword [esi + 0x60], edi
mov ecx, dword [esi + 0x58]
cmp ecx, edx
jge 0x10003760
mov eax, edx
sub eax, ecx
shl eax, 2
push eax
mov eax, dword [esi + 0x5c]
push 0
lea eax, [eax + ecx*4]
push eax
call fcn.10015fd0
mov eax, dword [ebp - 0x2c]
add esp, 0xc
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x5c]
mov ecx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x18]
mov dword [eax + ecx*4], edi
jmp 0x10003faa
mov ecx, esi
call fcn.10008bd0
push 8
call fcn.100142a7
mov edi, eax
add esp, 4
mov dword [ebp - 0x3c], edi
mov dword [ebp - 4], 3
test edi, edi
je 0x10003317
mov eax, dword [ebp + 8]
mov ecx, esi
push dword [eax]
call fcn.100020a0
mov dword [edi], vtable.CIndependentElxT_0_.0
mov dword [edi + 4], eax
jmp 0x10003319
mov ecx, esi
call fcn.10008bd0
mov al, byte [esi + 0xa8]
test al, al
je 0x100037e2
movsx eax, al
push eax
call fcn.10018532
add esp, 4
test eax, eax
je 0x100037e2
mov ecx, esi
call fcn.10008bd0
mov al, byte [esi + 0xa8]
test al, al
jne 0x100037c1
mov cl, byte [esi + 0xa8]
mov byte [ebp + 0xb], cl
cmp cl, 0x3c
je 0x10003925
cmp cl, 0x27
je 0x10003925
lea ecx, [ebp - 0x50]
call fcn.10001000
mov al, byte [ebp + 0xb]
mov dword [ebp - 4], 5
test al, al
je 0x1000389a
mov edx, 8
mov dword [ebp - 0x14], edx
nop
cmp al, 0x29
je 0x1000389a
mov ecx, dword [ebp - 0x40]
cmp ecx, 8
cmovl ecx, edx
mov edx, dword [ebp - 0x48]
lea eax, [edx + 2]
cmp eax, ecx
lea edi, [ecx + ecx]
cmovle edi, ecx
cmp eax, edi
jle 0x10003852
lea edi, [edx + 0xd]
mov eax, edi
and eax, 0x80000007
jns 0x10003850
dec eax
or eax, 0xfffffff8
inc eax
sub edi, eax
cmp edi, dword [ebp - 0x40]
jle 0x10003872
mov ecx, dword [ebp - 0x44]
push edi
push ecx
call fcn.1001804e
mov edx, dword [ebp - 0x48]
add esp, 8
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x40], edi
jmp 0x10003875
mov eax, dword [ebp - 0x44]
mov cl, byte [ebp + 0xb]
mov byte [eax + edx], cl
inc edx
mov ecx, esi
mov dword [ebp - 0x48], edx
mov byte [eax + edx], 0
call fcn.10008bd0
mov al, byte [esi + 0xa8]
mov edx, dword [ebp - 0x14]
mov byte [ebp + 0xb], al
test al, al
jne 0x10003820
mov ecx, dword [ebp - 0x44]
mov eax, 0x10028fec
test ecx, ecx
mov dword [ebp + 8], 0
cmovne eax, ecx
mov dword [ebp - 0x3c], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.100091b0
push 0x20
call fcn.100142a7
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x3c], edi
test edi, edi
je 0x10003915
mov eax, dword [ebp + 8]
lea ecx, [esi + 0x14]
mov dword [edi], vtable.CDelegateElxT_char_.0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0xc], vtable.CBufferT_char_.0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x18], 0
push edi
mov dword [edi + 4], 0
mov dword [edi + 8], eax
call fcn.10009150
jmp 0x10003b17
xor edi, edi
lea ecx, [esi + 0x14]
push edi
call fcn.10009150
jmp 0x10003b17
cmp cl, 0x3c
mov edx, 0x3e
mov eax, 0x27
cmove eax, edx
push 0x20
mov dword [ebp - 0x3c], eax
call fcn.100142a7
mov edi, eax
add esp, 4
mov dword [ebp + 8], edi
test edi, edi
je 0x10003984
mov dword [edi], vtable.CDelegateElxT_char_.0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0xc], vtable.CBufferT_char_.0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x18], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0xfffffffd
jmp 0x10003986
xor edi, edi
push edi
lea ecx, [esi + 0x14]
call fcn.10009150
mov ecx, esi
call fcn.10008bd0
lea ecx, [ebp - 0x50]
call fcn.10001000
mov al, byte [esi + 0xa8]
mov dword [ebp - 4], 4
mov byte [ebp + 0xb], al
test al, al
je 0x10003ad6
mov dword [ebp - 0x14], 8
nop dword [eax]
cmp al, byte [ebp - 0x3c]
je 0x10003ad6
mov edx, dword [edi + 0x1c]
mov ecx, edx
mov eax, dword [edi + 0x14]
cmp edx, 8
mov dword [ebp - 0x2c], eax
cmovl ecx, dword [ebp - 0x14]
add eax, 2
mov dword [ebp - 0x38], edx
cmp eax, ecx
lea edx, [ecx + ecx]
cmovle edx, ecx
mov dword [ebp - 0x34], edx
cmp eax, edx
jle 0x10003a09
mov edx, dword [ebp - 0x2c]
add edx, 0xd
mov eax, edx
and eax, 0x80000007
jns 0x10003a04
dec eax
or eax, 0xfffffff8
inc eax
sub edx, eax
mov dword [ebp - 0x34], edx
cmp edx, dword [ebp - 0x38]
jle 0x10003a30
push edx
push dword [edi + 0x18]
call fcn.1001804e
mov ecx, dword [ebp - 0x34]
mov edx, eax
mov dword [edi + 0x1c], ecx
add esp, 8
mov ecx, dword [edi + 0x14]
mov dword [edi + 0x18], edx
mov dword [edi + 0x10], edx
mov dword [ebp - 0x2c], ecx
jmp 0x10003a33
mov edx, dword [edi + 0x18]
mov eax, dword [ebp - 0x2c]
mov cl, byte [ebp + 0xb]
mov byte [eax + edx], cl
inc dword [edi + 0x14]
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x14]
mov byte [ecx + eax], 0
mov ecx, dword [ebp - 0x40]
cmp ecx, 8
mov al, byte [esi + 0xa8]
cmovl ecx, dword [ebp - 0x14]
mov byte [ebp + 0xb], al
mov eax, dword [ebp - 0x48]
add eax, 2
cmp eax, ecx
lea edx, [ecx + ecx]
cmovle edx, ecx
mov dword [ebp - 0x34], edx
cmp eax, edx
jle 0x10003a8a
mov edx, dword [ebp - 0x48]
add edx, 0xd
mov eax, edx
and eax, 0x80000007
jns 0x10003a85
dec eax
or eax, 0xfffffff8
inc eax
sub edx, eax
mov dword [ebp - 0x34], edx
cmp edx, dword [ebp - 0x40]
jle 0x10003aaa
mov ecx, dword [ebp - 0x44]
push edx
push ecx
call fcn.1001804e
mov ecx, dword [ebp - 0x34]
add esp, 8
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x40], ecx
jmp 0x10003aad
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x48]
mov dl, byte [ebp + 0xb]
mov byte [ecx + eax], dl
inc ecx
mov dword [ebp - 0x48], ecx
mov byte [ecx + eax], 0
mov ecx, esi
call fcn.10008bd0
mov al, byte [esi + 0xa8]
mov byte [ebp + 0xb], al
test al, al
jne 0x100039c0
mov ecx, esi
call fcn.10008bd0
mov ecx, dword [ebp - 0x44]
mov eax, 0x10028fec
test ecx, ecx
cmovne eax, ecx
mov dword [ebp + 8], eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp + 8]
push eax
call fcn.100091b0
add esp, 8
test eax, eax
je 0x10003b17
mov eax, dword [ebp + 8]
cmp byte [eax], 0
jne 0x10003b17
mov eax, dword [ebp - 0x3c]
lea ecx, [edi + 0xc]
mov dword [edi + 8], eax
call fcn.10009250
push edi
lea ecx, [esi + 0x3c]
call fcn.10009150
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001550
jmp 0x1000422b
push 0x28
call fcn.100142a7
mov edi, eax
mov dword [ebp - 0x18], eax
add esp, 4
mov dword [ebp - 0x3c], edi
test edi, edi
je 0x10003b7c
mov dword [edi], vtable.CConditionElxT_char_.0
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 8], vtable.CBufferT_char_.0
mov dword [edi + 0x18], 0
mov dword [edi + 0x14], 0
mov dword [edi + 4], 0xffffffff
jmp 0x10003b81
xor edi, edi
mov dword [ebp - 0x18], edi
lea ecx, [esi + 0x14]
push edi
call fcn.10009150
lea eax, [ebp - 0x4c]
mov byte [ebp - 0x4c], 0x3f
push eax
lea ecx, [esi + 0xb8]
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
call fcn.100016e0
mov ecx, esi
test eax, eax
je 0x10003bc9
mov eax, dword [ebp + 8]
push eax
call fcn.10003220
mov dword [edi + 0x1c], eax
jmp 0x10003dc7
call fcn.10008bd0
mov eax, dword [esi + 0xb0]
push 0xc
mov dword [ebp - 0x20], eax
call fcn.100142a7
add esp, 4
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], 6
test eax, eax
je 0x10003c13
mov eax, dword [ebp + 8]
mov ecx, esi
push dword [eax]
call fcn.100020a0
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], vtable.CAssertElxT_0_.0
mov dword [ecx + 4], eax
mov dword [ecx + 8], 1
jmp 0x10003c18
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
push ecx
lea ecx, [esi + 0x14]
call fcn.10009150
mov eax, dword [ebp - 0x2c]
mov ecx, 0x10028fd8
mov edx, dword [ebp - 0x20]
mov dword [edi + 0x1c], eax
mov eax, dword [esi + 0x90]
test eax, eax
push 1
cmovne ecx, eax
mov eax, dword [esi + 0xb0]
sub eax, edx
push eax
lea eax, [edx + ecx]
push eax
lea ecx, [edi + 8]
call fcn.10001d10
lea ecx, [ebp - 0x50]
call fcn.10001000
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 7
mov dword [ebp - 0x14], 8
cmp edx, dword [esi + 0xb0]
jge 0x10003d16
mov edi, dword [ebp - 0x48]
nop dword [eax]
cmp edx, dword [esi + 0x94]
jl 0x10003c8e
mov byte [ebp - 0xd], 0
jmp 0x10003c9a
mov eax, dword [esi + 0x90]
mov al, byte [edx + eax]
mov byte [ebp - 0xd], al
mov ecx, dword [ebp - 0x40]
lea eax, [edi + 2]
cmp ecx, 8
cmovl ecx, dword [ebp - 0x14]
cmp eax, ecx
lea edx, [ecx + ecx]
cmovle edx, ecx
mov dword [ebp - 0x34], edx
cmp eax, edx
jle 0x10003ccc
lea edx, [edi + 0xd]
mov eax, edx
and eax, 0x80000007
jns 0x10003cc7
dec eax
or eax, 0xfffffff8
inc eax
sub edx, eax
mov dword [ebp - 0x34], edx
cmp edx, dword [ebp - 0x40]
jle 0x10003ced
push edx
push dword [ebp - 0x44]
call fcn.1001804e
mov ecx, eax
add esp, 8
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x40], eax
jmp 0x10003cf0
mov ecx, dword [ebp - 0x44]
mov al, byte [ebp - 0xd]
mov edx, dword [ebp - 0x20]
mov byte [ecx + edi], al
inc edx
inc edi
mov dword [ebp - 0x20], edx
mov byte [ecx + edi], 0
cmp edx, dword [esi + 0xb0]
jl 0x10003c80
mov dword [ebp - 0x48], edi
mov edi, dword [ebp - 0x18]
jmp 0x10003d19
mov ecx, dword [ebp - 0x44]
test ecx, ecx
mov eax, 0x10028fec
cmovne eax, ecx
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.100091b0
add esp, 8
test eax, eax
je 0x10003d51
mov eax, dword [ebp - 0x34]
cmp byte [eax], 0
jne 0x10003d51
mov eax, dword [ebp - 0x3c]
mov dword [edi + 4], eax
mov dword [edi + 0x1c], 0
jmp 0x10003db1
mov dword [edi + 4], 0xffffffff
mov ecx, dword [esi + 0x80]
mov eax, dword [esi + 0x88]
cmp ecx, eax
jl 0x10003da2
lea edi, [eax + eax]
cmp edi, 8
cmovl edi, dword [ebp - 0x14]
lea eax, [edi*4]
push eax
push dword [esi + 0x84]
call fcn.1001804e
mov ecx, dword [esi + 0x80]
add esp, 8
mov dword [esi + 0x88], edi
mov edi, dword [ebp - 0x18]
mov dword [esi + 0x84], eax
mov dword [esi + 0x7c], eax
jmp 0x10003da8
mov eax, dword [esi + 0x84]
mov dword [eax + ecx*4], edi
inc dword [esi + 0x80]
mov ecx, esi
call fcn.10008bd0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001550
mov eax, dword [ebp + 8]
mov ecx, esi
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push eax
call fcn.100030b0
mov dword [edi + 0x20], eax
cmp byte [esi + 0xa8], 0x7c
jne 0x10003e01
mov ecx, esi
call fcn.10008bd0
mov eax, dword [ebp + 8]
mov ecx, esi
push dword [eax]
call fcn.100020a0
mov dword [edi + 0x24], eax
jmp 0x1000422b
mov dword [edi + 0x24], 0
jmp 0x1000422b
test cl, cl
je 0x10003e67
movsx eax, cl
push eax
call fcn.10018532
add esp, 4
test eax, eax
je 0x10003e65
movups xmm0, xmmword [esi + 0xa8]
movups xmmword [esi + 0x98], xmm0
movups xmm0, xmmword [esi + 0xb8]
movups xmmword [esi + 0xa8], xmm0
movups xmm0, xmmword [esi + 0xc8]
movups xmmword [esi + 0xb8], xmm0
nop dword [eax + eax]
mov ecx, esi
call fcn.10006170
test eax, eax
je 0x10003e50
mov cl, byte [esi + 0xa8]
test cl, cl
jne 0x10003e11
xor edx, edx
mov cl, byte [esi + 0xa8]
mov byte [ebp - 0xd], cl
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x10003fca
xor edi, edi
mov dword [ebp - 0x4c], 0
xor eax, eax
mov dword [ebp - 0x48], edi
xor edx, edx
mov dword [ebp - 0x50], vtable.CBufferT_char_.0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 4], 8
test cl, cl
je 0x10003f2a
mov dword [ebp - 0x14], 8
nop
cmp cl, 0x29
je 0x10003f2a
cmp eax, 8
mov ecx, eax
lea eax, [edi + 2]
cmovl ecx, dword [ebp - 0x14]
cmp eax, ecx
lea edi, [ecx + ecx]
cmovle edi, ecx
cmp eax, edi
jle 0x10003ee3
mov edi, dword [ebp - 0x48]
add edi, 0xd
mov eax, edi
and eax, 0x80000007
jns 0x10003ee1
dec eax
or eax, 0xfffffff8
inc eax
sub edi, eax
cmp edi, dword [ebp - 0x40]
jle 0x10003eff
push edi
push edx
call fcn.1001804e
mov edx, eax
add esp, 8
mov eax, edi
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x40], eax
mov edi, dword [ebp - 0x48]
mov ecx, esi
mov al, byte [ebp - 0xd]
mov byte [edx + edi], al
inc edi
mov dword [ebp - 0x48], edi
mov byte [edx + edi], 0
call fcn.10008bd0
mov cl, byte [esi + 0xa8]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0xd], cl
test cl, cl
jne 0x10003eb0
test edx, edx
mov dword [ebp + 8], 0
mov eax, 0x10028fec
cmovne eax, edx
mov dword [ebp - 0x3c], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.100091b0
push 0x20
call fcn.100142a7
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x3c], edi
test edi, edi
je 0x10003f96
mov eax, dword [ebp + 8]
mov dword [edi], vtable.CDelegateElxT_char_.0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0xc], vtable.CBufferT_char_.0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x18], 0
mov dword [edi + 4], 0
mov dword [edi + 8], eax
jmp 0x10003f98
xor edi, edi
push edi
lea ecx, [esi + 0x14]
call fcn.10009150
push edi
lea ecx, [esi + 0x3c]
call fcn.10009150
mov eax, dword [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
test eax, eax
je 0x1000422b
push eax
call fcn.1001803e
add esp, 4
jmp 0x1000422b
mov ecx, dword [ebp + 8]
mov edi, dword [ecx]
nop
mov al, byte [esi + 0xa8]
test al, al
jne 0x10003fe7
cmp dword [esi + 0xac], 1
je 0x100040a4
cmp al, 0x3a
je 0x100040b9
cmp al, 0x29
je 0x10004093
cmp al, 0x28
jne 0x10004008
cmp dword [esi + 0xac], 1
je 0x100040c0
movsx eax, al
xor ecx, ecx
add eax, 0xffffffd3
cmp eax, 0x46
ja case.0x1000401c.46
movzx eax, byte [eax + 0x100042b8]
jmp dword [eax*4 + 0x100042a0]
mov ecx, 8
test edx, edx
je 0x10004054
not ecx
and edi, ecx
jmp 0x10004056
mov ecx, 1
jmp case.0x1000401c.46
mov ecx, 2
jmp case.0x1000401c.46
mov ecx, 4
jmp case.0x1000401c.46
not ecx
mov dword [ebp - 0x20], 1
and edi, ecx
jmp 0x10004056
or edi, ecx
movups xmm0, xmmword [esi + 0xa8]
movups xmmword [esi + 0x98], xmm0
movups xmm0, xmmword [esi + 0xb8]
movups xmmword [esi + 0xa8], xmm0
movups xmm0, xmmword [esi + 0xc8]
movups xmmword [esi + 0xb8], xmm0
mov ecx, esi
call fcn.10006170
test eax, eax
je 0x10004080
mov edx, dword [ebp - 0x20]
jmp 0x10003fd0
cmp al, 0x3a
je 0x100040b9
cmp al, 0x28
jne 0x100040a4
cmp dword [esi + 0xac], 1
je 0x100040c0
mov eax, dword [ebp + 8]
mov ecx, esi
push 0
mov dword [eax], edi
call fcn.10006980
mov edi, eax
jmp 0x1000422b
mov ecx, esi
call fcn.10008bd0
push edi
mov ecx, esi
call fcn.100020a0
mov edi, eax
jmp 0x1000422b
push 0x1c
call fcn.100142a7
mov edi, eax
add esp, 4
mov dword [ebp - 0x3c], edi
test edi, edi
je 0x10004118
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi], vtable.CListElxT_0_.0
and eax, 0x10
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [edi + 4], vtable.CBufferT_class_ElxInterface__.0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x18], eax
jmp 0x1000411a
xor edi, edi
lea ecx, [esi + 0x14]
push edi
call fcn.10009150
inc dword [esi + 8]
mov eax, dword [esi + 8]
push 0x20
mov dword [ebp - 0x20], eax
call fcn.100142a7
add esp, 4
mov dword [ebp - 0x34], eax
test eax, eax
je 0x1000417c
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ecx]
mov dword [eax], vtable.CBracketElxT_char_.0
shr ecx, 4
and ecx, 1
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0xc], vtable.CBufferT_char_.0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
jmp 0x10004181
xor eax, eax
mov dword [ebp - 0x34], eax
push eax
lea ecx, [esi + 0x14]
call fcn.10009150
push dword [ebp - 0x34]
lea ecx, [edi + 4]
call fcn.10009150
mov eax, dword [ebp + 8]
mov ecx, esi
push dword [eax]
call fcn.100020a0
push eax
lea ecx, [edi + 4]
call fcn.10009150
push 0x20
call fcn.100142a7
add esp, 4
mov dword [ebp - 0x34], eax
test eax, eax
je 0x100041fc
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ecx]
shr ecx, 4
mov dword [eax], vtable.CBracketElxT_char_.0
not ecx
and ecx, 1
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0xc], vtable.CBufferT_char_.0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
jmp 0x10004201
xor eax, eax
mov dword [ebp - 0x34], eax
push eax
lea ecx, [esi + 0x14]
call fcn.10009150
push dword [ebp - 0x34]
lea ecx, [edi + 4]
call fcn.10009150
push 0
push dword [ebp - 0x20]
lea ecx, [esi + 0x28]
call fcn.10009060
mov ecx, dword [esi + 0x34]
mov eax, dword [ebp - 0x20]
mov dword [ecx + eax*4], edi
mov ecx, esi
call fcn.10008bd0
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