Function at 0x5683c0
Capabilities:
Encode data using base64

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x68c3e8
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push ebp
push esi
mov esi, dword [esp + 0x28]
xor ebp, ebp
push edi
mov ecx, dword [esi + 4]
cmp ecx, ebp
je 0x568406
mov eax, dword [esi + 8]
cmp eax, ebp
jbe 0x568406
mov edx, ecx
mov edi, eax
mov eax, dword [edx]
cmp eax, ebp
je 0x568400
mov eax, dword [eax]
cmp eax, ebp
jne 0x5683fa
add edx, 4
dec edi
jne 0x5683f4
push ecx
call sub.MFC42u.DLL_operatordelete
mov ecx, dword [esi + 0x14]
add esp, 4
mov dword [esi + 4], ebp
mov dword [esi + 0xc], ebp
mov dword [esi + 0x10], ebp
call sub.MFC42u.DLL_CPlex::FreeDataChain
mov edi, dword [esp + 0x28]
mov dword [esi + 0x14], ebp
push 0x48
mov ecx, esi
mov ebx, dword [edi + 0x14e4]
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x3658]
push 0x2f
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1db8]
push 0x4b
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1d78]
push 0x3e
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x39d4]
push 0x31
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x39d0]
push 0x24
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1498]
push 0x11
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x3bc8]
push 9
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov eax, dword [edi + 0x3bb8]
xor ebx, ebx
cmp eax, ebp
push 0x38
mov ecx, esi
sete bl
call fcn.005d9a10
mov dword [eax], ebx
mov eax, dword [edi + 0x3bb8]
xor ebx, ebx
cmp eax, 2
push 0x3a
mov ecx, esi
sete bl
call fcn.005d9a10
mov dword [eax], ebx
mov eax, dword [edi + 0x3bb8]
xor ebx, ebx
cmp eax, 1
push 0x39
mov ecx, esi
sete bl
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x5814]
push 0x16
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov eax, dword [edi + 0x1f3c]
xor ebx, ebx
cmp eax, ebp
push 2
mov ecx, esi
sete bl
call fcn.005d9a10
mov dword [eax], ebx
mov eax, dword [edi + 0x1f3c]
xor ebx, ebx
cmp eax, 3
push 3
mov ecx, esi
sete bl
call fcn.005d9a10
mov dword [eax], ebx
mov eax, dword [edi + 0x1f3c]
xor ebx, ebx
cmp eax, 1
push 1
mov ecx, esi
sete bl
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x14e0]
push 0x46
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov eax, dword [edi + 0x29e4]
cmp eax, ebp
je 0x56857e
cmp dword [edi + 0x21c4], ebp
je 0x56857e
mov ebx, 1
jmp 0x568580
xor ebx, ebx
push 0x1a
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x47c]
push 8
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1dac]
push 0x27
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x365c]
push 0x47
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x39e0]
push 0x35
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x39e0]
push 0x36
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x39dc]
push 0x34
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x14ac]
push 0x23
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1dbc]
push 0x4c
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1db4]
push 7
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1f34]
push 0x26
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1da4]
push 0x13
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1d80]
push 0x45
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1da0]
push 0x12
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x3bcc]
push 0xa
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x39cc]
push 0x20
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x39cc]
push 0x2a
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x57d0]
push 0x3c
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov eax, dword [edi + 0x364c]
cmp eax, ebp
je 0x5686c5
cmp dword [edi + 0x3650], ebp
je 0x5686c5
mov ebx, 1
jmp 0x5686c7
xor ebx, ebx
push 0x2d
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x364c]
push 0x2c
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x39e4]
push 0x37
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x14c8]
push 0x30
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x14dc]
push 0x40
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x14c4]
push 0x3f
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1d6c]
push 0x32
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1da8]
push 0x1f
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1494]
push 0x10
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1d9c]
push 4
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1d50]
push 0x1b
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x14d4]
push 0x3d
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov eax, dword [edi + 0x1d9c]
cmp eax, ebp
je 0x5687a6
cmp dword [edi + 0x1d5c], ebp
je 0x5687a6
mov ebx, 1
jmp 0x5687a8
xor ebx, ebx
push 5
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1d98]
push ebp
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1d58]
push 0x22
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1d90]
push 0x17
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1db0]
push 0x14
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1d4c]
push 0x4d
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x14b4]
push 0x53
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1d54]
push 0x1e
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x14f0]
push 0x28
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov eax, dword [edi + 0x14e4]
cmp eax, ebp
je 0x568853
cmp dword [edi + 0x14e8], ebp
je 0x568853
mov ebx, 1
jmp 0x568855
xor ebx, ebx
push 0x49
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1d94]
push 0x18
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x3bd0]
push 0x50
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ecx, dword [edi + 0x39e8]
lea eax, [edi + 0x3898]
cmp ecx, ebp
mov dword [esp + 0x14], eax
je 0x5688a5
cmp dword [eax + 0x154], ebp
je 0x5688a5
mov ebx, 1
jmp 0x5688a7
xor ebx, ebx
push 0x4e
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x39c8]
push 0x1d
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x1f2c]
push 0x19
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x3bd4]
push 0x51
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov eax, dword [edi + 0x3670]
xor ebx, ebx
cmp eax, ebp
push 0x25
mov ecx, esi
sete bl
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x39c0]
push 6
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov eax, dword [edi + 0x3bbc]
xor ebx, ebx
cmp eax, ebp
push 0xb
mov ecx, esi
sete bl
call fcn.005d9a10
mov dword [eax], ebx
mov eax, dword [edi + 0x3bc0]
xor ebx, ebx
cmp eax, ebp
push 0xd
mov ecx, esi
sete bl
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x39c4]
push 0x1c
mov ecx, esi
call fcn.005d9a10
mov dword [eax], ebx
mov ebx, dword [edi + 0x39c4]
lea eax, [esp + 0x2c]
mov ecx, esi
push eax
push 0x29
call fcn.006105b0
cmp eax, ebp
jne 0x5689a4
cmp dword [esi + 4], ebp
jne 0x568979
mov ecx, dword [esi + 8]
push 1
push ecx
mov ecx, esi
call fcn.004bf9a0
mov ecx, esi
call fcn.005f9580
mov edx, dword [esp + 0x2c]
mov dword [eax + 8], 0x29
mov dword [eax + 4], edx
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x2c]
mov ecx, dword [ecx + edx*4]
mov dword [eax], ecx
mov edx, dword [esi + 4]
mov ecx, dword [esp + 0x2c]
mov dword [edx + ecx*4], eax
lea edx, [esp + 0x2c]
mov dword [eax + 0xc], ebx
mov ebx, dword [edi + 0x3bbc]
push edx
push 0xc
mov ecx, esi
call fcn.006105b0
cmp eax, ebp
jne 0x5689fc
cmp dword [esi + 4], ebp
jne 0x5689d1
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004bf9a0
mov ecx, esi
call fcn.005f9580
mov ecx, dword [esp + 0x2c]
mov dword [eax + 8], 0xc
mov dword [eax + 4], ecx
mov edx, dword [esi + 4]
mov ecx, dword [esp + 0x2c]
mov edx, dword [edx + ecx*4]
mov dword [eax], edx
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x2c]
mov dword [ecx + edx*4], eax
xor ecx, ecx
cmp ebx, 1
sete cl
lea edx, [esp + 0x2c]
mov dword [eax + 0xc], ecx
mov ebx, dword [edi + 0x3bc0]
push edx
push 0xe
mov ecx, esi
call fcn.006105b0
cmp eax, ebp
jne 0x568a5c
cmp dword [esi + 4], ebp
jne 0x568a31
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004bf9a0
mov ecx, esi
call fcn.005f9580
mov ecx, dword [esp + 0x2c]
mov dword [eax + 8], 0xe
mov dword [eax + 4], ecx
mov edx, dword [esi + 4]
mov ecx, dword [esp + 0x2c]
mov edx, dword [edx + ecx*4]
mov dword [eax], edx
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x2c]
mov dword [ecx + edx*4], eax
xor ecx, ecx
cmp ebx, 1
sete cl
lea edx, [esp + 0x2c]
mov dword [eax + 0xc], ecx
mov ebx, dword [edi + 0x3bc4]
push edx
push 0xf
mov ecx, esi
call fcn.006105b0
cmp eax, ebp
jne 0x568abc
cmp dword [esi + 4], ebp
jne 0x568a91
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004bf9a0
mov ecx, esi
call fcn.005f9580
mov ecx, dword [esp + 0x2c]
mov dword [eax + 8], 0xf
mov dword [eax + 4], ecx
mov edx, dword [esi + 4]
mov ecx, dword [esp + 0x2c]
mov edx, dword [edx + ecx*4]
mov dword [eax], edx
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x2c]
mov dword [ecx + edx*4], eax
mov dword [eax + 0xc], ebx
mov ebx, dword [edi + 0x57cc]
lea eax, [esp + 0x2c]
mov ecx, esi
push eax
push 0x33
call fcn.006105b0
cmp eax, ebp
jne 0x568b14
cmp dword [esi + 4], ebp
jne 0x568ae9
mov ecx, dword [esi + 8]
push 1
push ecx
mov ecx, esi
call fcn.004bf9a0
mov ecx, esi
call fcn.005f9580
mov edx, dword [esp + 0x2c]
mov dword [eax + 8], 0x33
mov dword [eax + 4], edx
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x2c]
mov ecx, dword [ecx + edx*4]
mov dword [eax], ecx
mov edx, dword [esi + 4]
mov ecx, dword [esp + 0x2c]
mov dword [edx + ecx*4], eax
lea edx, [esp + 0x28]
mov dword [eax + 0xc], ebx
mov ebx, dword [edi + 0x98c]
push edx
push 0x2e
mov ecx, esi
call fcn.006105b0
cmp eax, ebp
jne 0x568b6c
cmp dword [esi + 4], ebp
jne 0x568b41
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004bf9a0
mov ecx, esi
call fcn.005f9580
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], 0x2e
mov dword [eax + 4], ecx
mov edx, dword [esi + 4]
mov ecx, dword [esp + 0x28]
mov edx, dword [edx + ecx*4]
mov dword [eax], edx
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x28]
mov dword [ecx + edx*4], eax
mov dword [eax + 0xc], ebx
mov eax, dword [edi + 0x39d8]
mov ecx, dword [esi + 8]
mov dword [esp + 0x2c], eax
mov eax, 2
xor edx, edx
div ecx
mov ecx, dword [esi + 4]
cmp ecx, ebp
mov ebx, edx
je 0x568baf
mov eax, dword [ecx + ebx*4]
cmp eax, ebp
je 0x568bab
mov edx, 0x21
cmp dword [eax + 8], edx
je 0x568ba7
mov eax, dword [eax]
cmp eax, ebp
jne 0x568b9a
jmp 0x568bab
cmp eax, ebp
jne 0x568bdb
cmp ecx, ebp
jne 0x568bbc
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004bf9a0
mov ecx, esi
call fcn.005f9580
mov dword [eax + 4], ebx
mov dword [eax + 8], 0x21
mov ecx, dword [esi + 4]
mov edx, dword [ecx + ebx*4]
mov dword [eax], edx
mov ecx, dword [esi + 4]
mov dword [ecx + ebx*4], eax
mov edx, dword [esp + 0x2c]
mov dword [eax + 0xc], edx
mov eax, dword [edi + 0x3bd8]
mov ebp, dword [esi + 8]
mov dword [esp + 0x2c], eax
mov eax, 5
xor edx, edx
div ebp
mov ecx, dword [esi + 4]
test ecx, ecx
mov ebx, edx
je 0x568c22
mov eax, dword [ecx + ebx*4]
test eax, eax
je 0x568c1e
mov edx, 0x52
cmp dword [eax + 8], edx
je 0x568c1a
mov eax, dword [eax]
test eax, eax
jne 0x568c0d
jmp 0x568c1e
test eax, eax
jne 0x568c4b
test ecx, ecx
jne 0x568c2c
push 1
push ebp
mov ecx, esi
call fcn.004bf9a0
mov ecx, esi
call fcn.005f9580
mov dword [eax + 4], ebx
mov dword [eax + 8], 0x52
mov ecx, dword [esi + 4]
mov edx, dword [ecx + ebx*4]
mov dword [eax], edx
mov ecx, dword [esi + 4]
mov dword [ecx + ebx*4], eax
mov edx, dword [esp + 0x2c]
mov dword [eax + 0xc], edx
mov eax, dword [edi + 0x1dc0]
mov ebx, dword [esi + 8]
mov dword [esp + 0x2c], eax
mov eax, 5
xor edx, edx
div ebx
mov ecx, dword [esi + 4]
test ecx, ecx
mov ebp, edx
je 0x568c8e
mov eax, dword [ecx + ebp*4]
test eax, eax
je 0x568c8a
cmp dword [eax + 8], 0x54
je 0x568c86
mov eax, dword [eax]
test eax, eax
jne 0x568c78
jmp 0x568c8a
test eax, eax
jne 0x568cd9
test ecx, ecx
jne 0x568cba
lea edi, [ebx*4]
push edi
call sub.MFC42u.DLL_operatornew
mov edx, eax
mov ecx, edi
mov dword [esi + 4], edx
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
add esp, 4
and ecx, 3
rep stosb byte es:[edi], al
mov dword [esi + 8], ebx
mov ecx, esi
call fcn.005f9580
mov dword [eax + 4], ebp
mov dword [eax + 8], 0x54
mov ecx, dword [esi + 4]
mov edx, dword [ecx + ebp*4]
mov dword [eax], edx
mov ecx, dword [esi + 4]
mov dword [ecx + ebp*4], eax
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x10]
mov dword [eax + 0xc], edx
call sub.MFC42u.DLL_CString::CString_5
mov ebx, dword [esi + 8]
mov eax, 5
xor edx, edx
mov ecx, dword [esi + 4]
div ebx
test ecx, ecx
mov dword [esp + 0x20], 0
mov ebp, edx
je 0x568d29
mov eax, dword [ecx + ebp*4]
test eax, eax
je 0x568d25
cmp dword [eax + 8], 0x55
je 0x568d1b
mov eax, dword [eax]
test eax, eax
jne 0x568d0d
jmp 0x568d25
test eax, eax
mov edi, eax
jne 0x568dbc
test ecx, ecx
jne 0x568d55
lea edi, [ebx*4]
push edi
call sub.MFC42u.DLL_operatornew
mov edx, eax
mov ecx, edi
mov dword [esi + 4], edx
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
add esp, 4
and ecx, 3
rep stosb byte es:[edi], al
mov dword [esi + 8], ebx
mov eax, dword [esi + 0x10]
xor edi, edi
cmp eax, edi
jne 0x568d8d
mov eax, dword [esi + 0x18]
push 0x10
push eax
lea eax, [esi + 0x14]
push eax
call sub.MFC42u.DLL_CPlex::Create
mov ecx, dword [esi + 0x18]
mov edx, ecx
shl edx, 4
dec ecx
cmp ecx, edi
lea eax, [edx + eax - 0xc]
jl 0x568d8d
inc ecx
mov edx, dword [esi + 0x10]
mov dword [eax], edx
mov dword [esi + 0x10], eax
sub eax, 0x10
dec ecx
jne 0x568d7f
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0xc]
inc ecx
mov dword [esi + 0xc], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax + 4], ebp
mov dword [eax + 8], 0x55
mov edx, dword [esi + 4]
mov edi, eax
mov ecx, dword [edx + ebp*4]
mov dword [eax], ecx
mov edx, dword [esi + 4]
mov dword [edx + ebp*4], eax
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.00525790
lea ecx, [esp + 0x10]
mov dword [edi + 0xc], eax
mov dword [esp + 0x20], 0xffffffff
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x14
ret