Function at 0x413d00
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55692b
mov eax, dword fs:[0]
push eax
sub esp, 0x5c0
mov eax, dword [0x5ad880]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
mov esi, ecx
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x3a8], esi
mov dword [ebp - 0x3a4], ebx
mov dword [ebp - 0x3cc], ebx
mov dword [ebp - 0x3c8], ebx
mov dword [ebp - 0x3c4], ebx
lea ecx, [ebp - 0x3cc]
push ecx
lea edi, [ebp - 0x3a4]
mov dword [ebp - 4], ebx
call fcn.0041bee0
inc eax
cmp eax, 0xb
ja case.0x413d7b.1
jmp dword [eax*4 + 0x4154d8]
mov eax, esi
call fcn.00409270
test eax, eax
jne 0x413d94
mov ecx, esi
call fcn.0040b7c0
mov eax, dword [ebp - 0x3cc]
cmp eax, ebx
je 0x4154ae
jmp 0x4154a5
xor eax, eax
mov dword [ebp - 0x1b], eax
mov dword [ebp - 0x17], eax
mov byte [ebp - 0x13], al
mov word [ebp - 0x1c], 0x8a
cmp esi, ebx
je case.0x413d7b.0
mov ecx, dword [0x5b76f8]
cmp esi, ecx
jb case.0x413d7b.0
mov edi, dword [0x5b7700]
mov edx, edi
imul edx, dword [0x5b76fc]
add edx, ecx
cmp esi, edx
ja case.0x413d7b.0
mov eax, esi
sub eax, ecx
xor edx, edx
div edi
mov edi, eax
cmp edx, ebx
jne case.0x413d7b.0
mov ecx, edi
and ecx, 7
mov al, 1
shl al, cl
mov ecx, dword [0x5b0ac8]
shr edi, 3
test byte [edi + ecx], al
mov eax, 0
sete al
cmp eax, ebx
jne case.0x413d7b.0
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
mov edx, dword [eax]
mov edx, dword [edx + 0x18]
push ebx
push 1
push 2
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
call edx
mov eax, dword [ebp - 0x3cc]
cmp eax, ebx
je 0x413e38
push eax
call fcn.004302fd
add esp, 4
xor eax, eax
jmp 0x4154b1
xor eax, eax
mov dword [ebp - 0x1b], eax
mov dword [ebp - 0x17], eax
mov byte [ebp - 0x13], al
mov word [ebp - 0x1c], 0x8a
cmp esi, ebx
je 0x413ebc
mov ecx, dword [0x5b76f8]
cmp esi, ecx
jb 0x413ebc
mov edi, dword [0x5b7700]
mov eax, edi
imul eax, dword [0x5b76fc]
add eax, ecx
cmp esi, eax
ja 0x413ebc
mov eax, esi
sub eax, ecx
xor edx, edx
div edi
mov edi, eax
cmp edx, ebx
jne 0x413ebc
mov eax, dword [0x5b0ac8]
mov ecx, edi
and ecx, 7
mov dl, 1
shl dl, cl
shr edi, 3
test byte [edi + eax], dl
mov eax, 0
sete al
cmp eax, ebx
jne 0x413ebc
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
mov edx, dword [eax]
mov edx, dword [edx + 0x18]
push ebx
push 1
push 2
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
call edx
mov eax, dword [ebp - 0x3cc]
cmp eax, ebx
je 0x413e38
push eax
call fcn.004302fd
add esp, 4
xor eax, eax
jmp 0x4154b1
mov eax, esi
call fcn.00409270
test eax, eax
jne 0x413eec
mov ecx, esi
call fcn.0040b7c0
mov eax, dword [ebp - 0x3cc]
cmp eax, ebx
je 0x413e38
push eax
call fcn.004302fd
add esp, 4
xor eax, eax
jmp 0x4154b1
mov dword [ebp - 0x400], ebx
mov dword [ebp - 0x3fc], ebx
mov dword [ebp - 0x3f8], ebx
mov dword [ebp - 0x2d4], 0xf
mov dword [ebp - 0x2d8], ebx
mov byte [ebp - 0x2e8], bl
mov byte [ebp - 4], 2
mov edi, dword [ebp - 0x3c8]
mov eax, dword [ebp - 0x3cc]
sub edi, eax
jne 0x413f50
push str.invalid_vector_T__subscript
call fcn.00542ea3
mov cl, byte [eax]
cmp cl, 0x32
jne 0x413ff1
mov dword [ebp - 0x1b], ebx
mov dword [ebp - 0x17], ebx
mov byte [ebp - 0x13], bl
mov word [ebp - 0x1c], 0x181
mov byte [ebp - 0x1a], 0x33
cmp esi, ebx
je 0x413fe1
mov ecx, dword [0x5b76f8]
cmp esi, ecx
jb 0x413fe1
mov edi, dword [0x5b7700]
mov edx, edi
imul edx, dword [0x5b76fc]
add edx, ecx
cmp esi, edx
ja 0x413fe1
mov eax, esi
sub eax, ecx
xor edx, edx
div edi
mov edi, eax
cmp edx, ebx
jne 0x413fdb
mov ecx, edi
and ecx, 7
mov al, 1
shl al, cl
mov ecx, dword [0x5b0ac8]
shr edi, 3
test byte [edi + ecx], al
mov eax, 0
sete al
cmp eax, ebx
jne 0x413fdb
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
mov edx, dword [eax]
mov edx, dword [edx + 0x18]
push ebx
push 1
push 3
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
call edx
mov eax, dword [ebp - 0x3cc]
push eax
call fcn.004302fd
add esp, 4
xor eax, eax
jmp 0x4154b1
cmp cl, 0x34
jne 0x413e2f
cmp edi, 2
ja 0x414009
push str.invalid_vector_T__subscript
call fcn.00542ea3
and dword [ebp - 0x3d8], 0xfffffe00
lea edi, [eax + 2]
mov dword [ebp - 0x3d4], ebx
lea eax, [ebp - 0x384]
push eax
mov byte [ebp - 4], 4
call fcn.004249d0
mov byte [ebp - 4], 5
mov eax, edi
mov dword [ebp - 0x22c], 0xf
mov dword [ebp - 0x230], ebx
mov byte [ebp - 0x240], bl
lea ecx, [eax + 1]
jmp 0x414050
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x414050
sub eax, ecx
push eax
push edi
lea ecx, [ebp - 0x240]
call fcn.00406a70
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x240]
push ecx
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 6
call fcn.004066b0
cmp dword [ebp - 0x340], 0x10
mov edx, dword [ebp - 0x354]
jae 0x414094
lea edx, [ebp - 0x354]
mov eax, dword [ebp - 0x344]
lea ecx, [edx + eax]
lea eax, [ebp - 0x3e0]
push eax
lea ebx, [ebp - 0x384]
call fcn.00424ae0
mov byte [ebp - 4], 5
cmp dword [ebp - 0x22c], 0x10
mov bl, al
jb 0x4140cd
mov ecx, dword [ebp - 0x240]
push ecx
call fcn.004302fd
add esp, 4
test bl, bl
je 0x415462
lea ecx, [ebp - 0x3e0]
call fcn.00422e50
cmp eax, 2
jb 0x415462
mov edi, 0xfffffe00
and dword [ebp - 0x3e8], edi
xor ebx, ebx
mov dword [ebp - 0x3e4], ebx
push ebx
lea edx, [ebp - 0x3e0]
push edx
mov byte [ebp - 4], 8
call fcn.00422ec0
lea esi, [ebp - 0x294]
mov ecx, eax
call fcn.00422a60
and dword [ebp - 0x3b0], edi
mov dword [ebp - 0x3ac], ebx
push 1
lea eax, [ebp - 0x3e0]
push eax
mov byte [ebp - 4], 0xb
call fcn.00422ec0
mov edx, eax
lea eax, [ebp - 0x3b8]
call fcn.00422a00
mov ecx, str.ping
mov edi, esi
call fcn.0041aa00
test al, al
je 0x414234
lea ecx, [ebp - 0x49c]
push ecx
call fcn.00401f30
lea edx, [ebp - 0x49c]
push str.alive
push edx
mov byte [ebp - 4], 0xc
call fcn.00404650
add esp, 8
lea ecx, [ebp - 0x25c]
lea eax, [ebp - 0x49c]
call fcn.00402000
mov byte [ebp - 4], 0xd
cmp dword [eax + 0x14], 0x10
jb 0x41419c
mov edx, dword [eax]
jmp 0x41419e
mov edx, eax
mov eax, dword [ebp - 0x3a8]
push eax
mov ecx, str.pong
call fcn.00418000
lea ecx, [ebp - 0x25c]
call fcn.004065f0
lea ecx, [ebp - 0x49c]
mov byte [ebp - 4], 0xb
call fcn.004015e0
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 9
call fcn.004228e0
lea ecx, [ebp - 0x294]
call fcn.004065f0
lea eax, [ebp - 0x3f0]
mov byte [ebp - 4], 5
call fcn.004228e0
lea edi, [ebp - 0x384]
call fcn.00415510
lea eax, [ebp - 0x3e0]
mov byte [ebp - 4], 2
call fcn.004228e0
lea ecx, [ebp - 0x2e8]
call fcn.004065f0
lea esi, [ebp - 0x400]
call fcn.00419700
lea esi, [ebp - 0x3cc]
call fcn.00419700
xor eax, eax
jmp 0x4154b1
mov ecx, str.join
lea edi, [ebp - 0x294]
call fcn.0041aa00
test al, al
je 0x4143e4
mov eax, 0xf
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], 0
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x230], ebx
mov byte [ebp - 0x240], 0
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], al
call fcn.00422e50
test eax, eax
je 0x41434c
lea ecx, [ebp - 0x3f0]
push ecx
push ebx
lea edx, [ebp - 0x3b8]
push edx
call fcn.00422ec0
push eax
mov edx, str.userid
lea edi, [ebp - 0x26c]
call fcn.00423470
lea esi, [ebp - 0x25c]
mov ecx, eax
mov byte [ebp - 4], 0x10
call fcn.00422a60
push eax
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x11
call fcn.00402800
mov ecx, esi
call fcn.004065f0
mov eax, edi
mov byte [ebp - 4], 0xf
call fcn.004228e0
lea eax, [ebp - 0x3f0]
push eax
push ebx
lea ecx, [ebp - 0x3b8]
push ecx
call fcn.00422ec0
push eax
mov edx, str.roomname
lea edi, [ebp - 0x26c]
call fcn.00423470
lea esi, [ebp - 0x25c]
mov ecx, eax
mov byte [ebp - 4], 0x12
call fcn.00422a60
push eax
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 0x13
call fcn.00402800
mov ecx, esi
call fcn.004065f0
mov eax, edi
mov byte [ebp - 4], 0xf
call fcn.004228e0
cmp dword [ebp - 0x29c], 0x10
mov edx, dword [ebp - 0x2b0]
jae 0x414352
lea edx, [ebp - 0x2b0]
mov eax, dword [ebp - 0x3a8]
push eax
mov ecx, str.join
call fcn.00418000
lea ecx, [ebp - 0x240]
call fcn.004065f0
lea ecx, [ebp - 0x2b0]
call fcn.004065f0
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 9
call fcn.004228e0
lea ecx, [ebp - 0x294]
call fcn.004065f0
lea eax, [ebp - 0x3f0]
mov byte [ebp - 4], 5
call fcn.004228e0
lea edi, [ebp - 0x384]
call fcn.00415510
lea eax, [ebp - 0x3e0]
mov byte [ebp - 4], 2
call fcn.004228e0
lea ecx, [ebp - 0x2e8]
call fcn.004065f0
lea esi, [ebp - 0x400]
call fcn.00419700
lea esi, [ebp - 0x3cc]
call fcn.00419700
xor eax, eax
jmp 0x4154b1
mov ecx, str.message
lea edi, [ebp - 0x294]
call fcn.0041aa00
test al, al
je 0x4146be
mov eax, 0xf
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x230], ebx
mov byte [ebp - 0x240], 0
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x2a0], ebx
mov byte [ebp - 0x2b0], 0
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x15
call fcn.00422e50
test eax, eax
je 0x4144ee
lea ecx, [ebp - 0x3f0]
push ecx
push ebx
lea edx, [ebp - 0x3b8]
push edx
call fcn.00422ec0
push eax
mov edx, str.userid
lea edi, [ebp - 0x26c]
call fcn.00423470
lea esi, [ebp - 0x25c]
mov ecx, eax
mov byte [ebp - 4], 0x16
call fcn.00422a60
push eax
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 0x17
call fcn.00402800
mov ecx, esi
call fcn.004065f0
mov eax, edi
mov byte [ebp - 4], 0x15
call fcn.004228e0
lea eax, [ebp - 0x3f0]
push eax
push ebx
lea ecx, [ebp - 0x3b8]
push ecx
call fcn.00422ec0
push eax
mov edx, str.context
lea edi, [ebp - 0x26c]
call fcn.00423470
lea esi, [ebp - 0x25c]
mov ecx, eax
mov byte [ebp - 4], 0x18
call fcn.00422a60
push eax
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x19
call fcn.00402800
mov ecx, esi
call fcn.004065f0
mov eax, edi
mov byte [ebp - 4], 0x15
call fcn.004228e0
lea edx, [ebp - 0x49c]
push edx
call fcn.00401f30
mov bl, 0x1a
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x2b0]
mov edi, 0x10
cmp dword [ebp - 0x29c], edi
jae 0x414518
lea ecx, [ebp - 0x2b0]
mov eax, dword [ebp - 0x240]
cmp dword [ebp - 0x22c], edi
jae 0x41452c
lea eax, [ebp - 0x240]
push ecx
push 0x586d9c
push eax
lea eax, [ebp - 0x49c]
push eax
call fcn.00404650
add esp, 8
push eax
call fcn.00404650
add esp, 8
push eax
call fcn.00404650
add esp, 8
lea ecx, [ebp - 0x25c]
lea eax, [ebp - 0x49c]
call fcn.00402000
mov byte [ebp - 4], 0x1b
cmp dword [eax + 0x14], edi
jb 0x414570
mov eax, dword [eax]
mov esi, dword [ebp - 0x3a8]
push esi
mov edx, eax
mov ecx, str.message
call fcn.00418000
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], bl
call fcn.004065f0
add dword [0x5b77c0], 0xa
push 0x585742
lea ecx, [ebp - 0x2cc]
call fcn.00406b70
lea eax, [ebp - 0x2cc]
lea ecx, [ebp - 0x498]
mov byte [ebp - 4], 0x1c
call fcn.00419c10
lea ecx, [ebp - 0x2cc]
mov byte [ebp - 4], bl
call fcn.004065f0
mov ecx, dword [0x5b77c0]
push 0x586da4
push ecx
lea edx, [ebp - 0x49c]
push str._Index_:_1___progress_:_
push edx
call fcn.00404650
add esp, 8
push eax
call fcn.00401c30
push eax
call fcn.00404650
add esp, 8
lea ecx, [ebp - 0x25c]
lea eax, [ebp - 0x49c]
call fcn.00402000
mov byte [ebp - 4], 0x1d
cmp dword [eax + 0x14], edi
jb 0x414616
mov eax, dword [eax]
push esi
mov edx, eax
mov ecx, str.progress
call fcn.00418000
lea ecx, [ebp - 0x25c]
call fcn.004065f0
lea ecx, [ebp - 0x49c]
mov byte [ebp - 4], 0x15
call fcn.004015e0
lea ecx, [ebp - 0x2b0]
call fcn.004065f0
lea ecx, [ebp - 0x240]
call fcn.004065f0
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 9
call fcn.004228e0
lea ecx, [ebp - 0x294]
call fcn.004065f0
lea eax, [ebp - 0x3f0]
mov byte [ebp - 4], 5
call fcn.004228e0
lea edi, [ebp - 0x384]
call fcn.00415510
lea eax, [ebp - 0x3e0]
mov byte [ebp - 4], 2
call fcn.004228e0
lea ecx, [ebp - 0x2e8]
call fcn.004065f0
lea esi, [ebp - 0x400]
call fcn.00419700
lea esi, [ebp - 0x3cc]
call fcn.00419700
xor eax, eax
jmp 0x4154b1
mov ecx, str.session_type
lea edi, [ebp - 0x294]
call fcn.0041aa00
test al, al
je 0x41486a
push str.servicecode
lea eax, [ebp - 0x3b8]
push eax
call fcn.004231f0
mov ecx, eax
call fcn.00422b30
push str.session_type
lea ecx, [ebp - 0x3b8]
push ecx
mov edi, eax
call fcn.004231f0
mov ecx, eax
call fcn.00422b30
mov esi, eax
cmp esi, 0x64
je 0x414718
cmp esi, 0x65
jne 0x4141c9
lea edx, [ebp - 0x49c]
push edx
call fcn.00401f30
push esi
push 0x586dec
push edi
lea eax, [ebp - 0x49c]
push eax
mov byte [ebp - 4], 0x1e
call fcn.00401c30
push eax
call fcn.00404650
add esp, 8
push eax
call fcn.00401c30
mov esi, dword [ebp - 0x3a8]
mov eax, esi
call fcn.00409270
test eax, eax
jne 0x4141ba
lea ecx, [ebp - 0x25c]
lea eax, [ebp - 0x49c]
call fcn.00402000
mov ebx, 0x10
mov byte [ebp - 4], 0x1f
cmp dword [eax + 0x14], ebx
jb 0x414782
mov edx, dword [eax]
jmp 0x414784
mov edx, eax
mov eax, edx
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414790
sub eax, edi
push eax
push edx
lea ecx, [esi + 0x1390]
call fcn.00406a70
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x1e
call fcn.004065f0
lea ecx, [ebp - 0x25c]
lea eax, [ebp - 0x49c]
call fcn.00402000
mov byte [ebp - 4], 0x20
cmp dword [eax + 0x14], ebx
jb 0x4147d1
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3d0]
mov edx, dword [ecx + 0x18]
mov edi, dword [edx + 8]
push esi
mov edx, eax
call fcn.00411770
lea ecx, [ebp - 0x25c]
call fcn.004065f0
lea ecx, [ebp - 0x49c]
mov byte [ebp - 4], 0xb
call fcn.004015e0
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 9
call fcn.004228e0
lea ecx, [ebp - 0x294]
call fcn.004065f0
lea eax, [ebp - 0x3f0]
mov byte [ebp - 4], 5
call fcn.004228e0
lea edi, [ebp - 0x384]
call fcn.00415510
lea eax, [ebp - 0x3e0]
mov byte [ebp - 4], 2
call fcn.004228e0
lea ecx, [ebp - 0x2e8]
call fcn.004065f0
lea esi, [ebp - 0x400]
call fcn.00419700
lea esi, [ebp - 0x3cc]
call fcn.00419700
xor eax, eax
jmp 0x4154b1
mov ecx, str.show_webclient
lea edi, [ebp - 0x294]
call fcn.0041aa00
test al, al
je 0x414aed
push str.servicecode
lea eax, [ebp - 0x3b8]
push eax
call fcn.004231f0
mov ecx, eax
call fcn.00422b30
push str.bbsno
lea ecx, [ebp - 0x3b8]
push ecx
mov edi, eax
call fcn.004231f0
lea esi, [ebp - 0x25c]
mov ecx, eax
call fcn.00422a60
cmp dword [eax + 0x14], 0x10
jb 0x4148c2
mov eax, dword [eax]
push eax
call fcn.00524b97
add esp, 4
lea ecx, [ebp - 0x25c]
mov esi, eax
mov ebx, edx
call fcn.004065f0
push str._r_n
call fcn.00523e38
push ebx
push esi
push edi
push str.ServiceCode_:__d__BBSNo_:__I64d__r_n
call fcn.00523e38
push str._r_n
call fcn.00523e38
add esp, 0x18
lea edx, [ebp - 0x49c]
push edx
call fcn.00401f30
push 0x65
push 0x586dec
push edi
lea eax, [ebp - 0x49c]
push eax
mov byte [ebp - 4], 0x21
call fcn.00401c30
push eax
call fcn.00404650
add esp, 8
push eax
call fcn.00401c30
lea ecx, [ebp - 0x25c]
lea eax, [ebp - 0x49c]
mov dword [ebp - 0x3bc], 0
call fcn.00402000
mov byte [ebp - 4], 0x22
cmp dword [eax + 0x14], 0x10
jb 0x41495a
mov esi, dword [eax]
jmp 0x41495c
mov esi, eax
mov ecx, dword [ebp - 0x3d0]
mov edx, dword [ecx + 0x18]
mov eax, dword [edx + 8]
push eax
lea eax, [ebp - 0x3bc]
call fcn.00411820
lea ecx, [ebp - 0x25c]
mov esi, eax
mov byte [ebp - 4], 0x21
call fcn.004065f0
test esi, esi
je 0x414a63
mov edi, dword [ebp - 0x3bc]
mov eax, edi
call fcn.00409270
test eax, eax
jne 0x414a63
lea eax, [ebp - 0x5cc]
push eax
call fcn.00401f30
push str.bbsno
lea ecx, [ebp - 0x3b8]
mov bl, 0x25
push ecx
mov byte [ebp - 4], bl
call fcn.004231f0
lea esi, [ebp - 0x25c]
mov ecx, eax
call fcn.00422a60
mov esi, 0x10
mov byte [ebp - 4], 0x26
cmp dword [eax + 0x14], esi
jb 0x4149e1
mov eax, dword [eax]
push 0x586da4
push eax
lea edx, [ebp - 0x5cc]
push str._bbsno_:_
push edx
call fcn.00404650
add esp, 8
push eax
call fcn.00404650
add esp, 8
push eax
call fcn.00404650
add esp, 8
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], bl
call fcn.004065f0
lea ecx, [ebp - 0x2cc]
lea eax, [ebp - 0x5cc]
call fcn.00402000
mov byte [ebp - 4], 0x27
cmp dword [eax + 0x14], esi
jb 0x414a37
mov eax, dword [eax]
push edi
mov edx, eax
mov ecx, str.web_fileinfo
call fcn.00418000
lea ecx, [ebp - 0x2cc]
call fcn.004065f0
lea ecx, [ebp - 0x5cc]
mov byte [ebp - 4], 0x21
call fcn.004015e0
jmp 0x4141ba
lea eax, [ebp - 0x534]
push eax
call fcn.00401f30
push 0x586da4
push esi
lea ecx, [ebp - 0x534]
push str._exist_:_
push ecx
mov byte [ebp - 4], 0x23
call fcn.00404650
add esp, 8
push eax
call fcn.00401c30
push eax
call fcn.00404650
add esp, 8
lea ecx, [ebp - 0x25c]
lea eax, [ebp - 0x534]
call fcn.00402000
mov byte [ebp - 4], 0x24
cmp dword [eax + 0x14], 0x10
jb 0x414abb
mov edx, dword [eax]
jmp 0x414abd
mov edx, eax
mov eax, dword [ebp - 0x3a8]
push eax
mov ecx, str.web_client
call fcn.00418000
lea ecx, [ebp - 0x25c]
call fcn.004065f0
lea ecx, [ebp - 0x534]
mov byte [ebp - 4], 0x21
call fcn.004015e0
jmp 0x4141ba
mov ecx, str.down_path
lea edi, [ebp - 0x294]
call fcn.0041aa00
test al, al
je 0x414fa7
push str.servicecode
lea ecx, [ebp - 0x3b8]
push ecx
call fcn.004231f0
mov ecx, eax
call fcn.00422b30
cmp eax, 1
jne 0x414fa7
lea ecx, [ebp - 0x3bc]
call fcn.00407930
push str.TDisk
lea edx, [ebp - 0x3bc]
push 0x585ac4
push edx
mov byte [ebp - 4], 0x28
call fcn.00407910
push 0x206
lea ecx, [ebp - 0x222]
xor eax, eax
push ebx
push ecx
mov word [ebp - 0x224], ax
call fcn.005296a0
add esp, 0x18
mov dword [ebp - 0x3a4], 0x104
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
mov byte [ebp - 4], 0x29
mov edx, dword [ebp - 0x3bc]
push 0x2011f
push edx
push connect
lea ecx, [ebp - 0x1c]
call fcn.00407a10
cmp eax, ebx
jne 0x414bc0
lea eax, [ebp - 0x3a4]
push eax
lea ecx, [ebp - 0x224]
push ecx
push str.rPathBasic_U
lea ecx, [ebp - 0x1c]
call fcn.00407690
cmp eax, ebx
je 0x414e26
xor edi, edi
mov dword [ebp - 0x26c], edi
mov dword [ebp - 0x268], edi
mov dword [ebp - 0x264], edi
lea edx, [ebp - 0x26c]
push edx
mov byte [ebp - 4], 0x2a
call fcn.0041eac0
xor ebx, ebx
add esp, 4
mov dword [ebp - 0x29c], 0xf
mov dword [ebp - 0x2a0], edi
mov byte [ebp - 0x2b0], bl
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0x268]
mov esi, dword [ebp - 0x26c]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x414ca3
mov dword [ebp - 0x3a4], eax
lea esp, [esp]
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x404], esp
push 0x586e94
push esi
push eax
call fcn.0041a920
add esp, 0xc
call fcn.0041ea50
mov ecx, eax
mov eax, edx
add esp, 0x1c
cmp edi, eax
ja 0x414c98
jb 0x414c60
cmp ebx, ecx
jae 0x414c98
push 0x586e94
mov ebx, ecx
lea ecx, [ebp - 0x3a0]
push esi
push ecx
mov edi, eax
call fcn.0041a920
add esp, 0xc
push eax
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x2c
call fcn.00402800
lea ecx, [ebp - 0x3a0]
mov byte [ebp - 4], 0x2b
call fcn.004065f0
add esi, 0x1c
dec dword [ebp - 0x3a4]
jne 0x414c30
mov dword [ebp - 0x22c], 0xf
mov dword [ebp - 0x230], 0
mov byte [ebp - 0x240], 0
push str.Download
lea edx, [ebp - 0x2b0]
push edx
lea eax, [ebp - 0x304]
mov bl, 0x2d
push eax
mov byte [ebp - 4], bl
call fcn.0041a920
push eax
mov edx, 0x586e94
lea esi, [ebp - 0x3a0]
mov byte [ebp - 4], 0x2e
call fcn.0041a860
add esp, 0x10
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 0x2f
call fcn.004032f0
mov ecx, esi
call fcn.004065f0
lea ecx, [ebp - 0x304]
mov byte [ebp - 4], bl
call fcn.004065f0
cmp dword [ebp - 0x22c], 0x10
jb 0x414d33
mov edi, dword [ebp - 0x240]
test edi, edi
jne 0x414d39
xor eax, eax
jmp 0x414d63
lea edi, [ebp - 0x240]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea esi, [eax + 1]
cmp esi, 0x3fffffff
jle 0x414d4f
xor eax, eax
jmp 0x414d63
lea eax, [esi + esi]
call fcn.0052c650
mov eax, esp
push 3
push esi
push edi
push eax
call fcn.0041be50
push eax
lea ecx, [ebp - 0x3d0]
call fcn.00408190
lea ecx, [ebp - 0x3d0]
push ecx
mov byte [ebp - 4], 0x30
call fcn.0041e620
mov edx, dword [ebp - 0x3d0]
push edx
lea eax, [ebp - 0x224]
push 0x104
push eax
call fcn.005249d8
add esp, 0x10
lea ecx, [ebp - 0x1c]
call fcn.00407ac0
mov esi, dword [ebp - 0x3bc]
push 0
push 0
push 0x2001f
push 0
push 0
push esi
push connect
lea ecx, [ebp - 0x1c]
call fcn.00407790
push 0x2011f
push esi
push connect
lea ecx, [ebp - 0x1c]
call fcn.00407a10
push 1
lea ecx, [ebp - 0x224]
push ecx
push str.rPathBasic_U
lea ecx, [ebp - 0x1c]
call fcn.00407960
lea ecx, [ebp - 0x1c]
call fcn.00407ac0
lea ecx, [ebp - 0x3d0]
call fcn.00407b10
lea ecx, [ebp - 0x240]
call fcn.004065f0
lea ecx, [ebp - 0x2b0]
call fcn.004065f0
lea esi, [ebp - 0x26c]
mov byte [ebp - 4], 0x29
call fcn.00419790
jmp 0x414e2e
lea ecx, [ebp - 0x1c]
call fcn.00407ac0
lea eax, [ebp - 0x224]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414e37
sub eax, edx
sar eax, 1
test eax, eax
jle 0x414e61
cmp word [ebp + eax*2 - 0x226], 0x5c
lea eax, [ebp + eax*2 - 0x226]
jne 0x414e61
xor edx, edx
mov word [eax], dx
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x414e7a
xor eax, eax
jmp 0x414e96
lea esi, [eax + eax]
mov eax, esi
call fcn.0052c650
mov eax, esp
push 3
push esi
lea ecx, [ebp - 0x224]
push ecx
push eax
call fcn.004064d0
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00406b70
mov byte [ebp - 4], 0x31
cmp dword [ebp - 0x2b8], 0x10
mov eax, dword [ebp - 0x2cc]
jae 0x414ebb
lea eax, [ebp - 0x2cc]
push eax
lea ecx, [ebp - 0x240]
call fcn.00406b70
lea edx, [ebp - 0x240]
push edx
lea eax, [ebp - 0x25c]
push eax
mov byte [ebp - 4], 0x32
call fcn.0041d350
mov bl, 0x34
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], bl
call fcn.004065f0
lea ecx, [ebp - 0x534]
push ecx
call fcn.00401f30
push 0x586da4
lea edx, [ebp - 0x25c]
push edx
lea eax, [ebp - 0x534]
push str._downpath_:_
push eax
mov byte [ebp - 4], 0x35
call fcn.00404650
add esp, 8
push eax
call fcn.0041a350
add esp, 8
push eax
call fcn.00404650
add esp, 8
lea ecx, [ebp - 0x304]
lea eax, [ebp - 0x534]
call fcn.00402000
mov byte [ebp - 4], 0x36
cmp dword [eax + 0x14], 0x10
jb 0x414f4d
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3a8]
push ecx
mov edx, eax
mov ecx, str.down_path
call fcn.00418000
lea ecx, [ebp - 0x304]
call fcn.004065f0
lea ecx, [ebp - 0x534]
mov byte [ebp - 4], bl
call fcn.004015e0
lea ecx, [ebp - 0x25c]
call fcn.004065f0
lea ecx, [ebp - 0x2cc]
call fcn.004065f0
lea ecx, [ebp - 0x1c]
call fcn.00407af0
lea ecx, [ebp - 0x3bc]
call fcn.00407b10
jmp 0x4141c9
mov ecx, str.change_down_path
lea edi, [ebp - 0x294]
call fcn.0041aa00
test al, al
je 0x4151ef
push str.cur_down_path
lea edx, [ebp - 0x3b8]
push edx
call fcn.004231f0
lea esi, [ebp - 0x240]
mov ecx, eax
call fcn.00422a60
push 0x104
mov byte [ebp - 4], 0x37
call fcn.004302f2
push 0x104
mov esi, eax
push ebx
push esi
call fcn.005296a0
add esp, 0x10
push esi
lea ecx, [ebp - 0x278]
call fcn.00406b70
push esi
mov byte [ebp - 4], 0x38
call fcn.004302fd
add esp, 4
cmp dword [ebp - 0x268], ebx
jbe 0x4151d4
mov ecx, str.NULL
lea edi, [ebp - 0x278]
call fcn.0041aa00
test al, al
jne 0x4151d4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x3a4]
call fcn.00407930
push ebx
push ebx
push 0x2001f
push ebx
mov byte [ebp - 4], 0x3a
mov esi, dword [ebp - 0x3a4]
push ebx
push esi
push connect
lea ecx, [ebp - 0x1c]
call fcn.00407790
push 0x2011f
push esi
push connect
lea ecx, [ebp - 0x1c]
call fcn.00407a10
cmp dword [ebp - 0x264], 0x10
jb 0x415098
mov edi, dword [ebp - 0x278]
cmp edi, ebx
jne 0x41509e
xor eax, eax
jmp 0x4150c8
lea edi, [ebp - 0x278]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea esi, [eax + 1]
cmp esi, 0x3fffffff
jle 0x4150b4
xor eax, eax
jmp 0x4150c8
lea eax, [esi + esi]
call fcn.0052c650
mov eax, esp
push 3
push esi
push edi
push eax
call fcn.0041be50
push 1
push eax
push str.rPathBasic_U
lea ecx, [ebp - 0x1c]
call fcn.00407960
lea ecx, [ebp - 0x1c]
call fcn.00407ac0
mov eax, dword [ebp - 0x278]
mov esi, 0x10
cmp dword [ebp - 0x264], esi
jae 0x4150f9
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x25c]
call fcn.00406b70
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x2cc]
push ecx
mov byte [ebp - 4], 0x3b
call fcn.0041d350
mov bl, 0x3d
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], bl
call fcn.004065f0
lea edx, [ebp - 0x534]
push edx
call fcn.00401f30
push 0x586da4
lea eax, [ebp - 0x2cc]
push eax
lea ecx, [ebp - 0x534]
push str._downpath_:_
push ecx
mov byte [ebp - 4], 0x3e
call fcn.00404650
add esp, 8
push eax
call fcn.0041a350
add esp, 8
push eax
call fcn.00404650
add esp, 8
lea ecx, [ebp - 0x304]
lea eax, [ebp - 0x534]
call fcn.00402000
mov byte [ebp - 4], 0x3f
cmp dword [eax + 0x14], esi
jb 0x41518a
mov eax, dword [eax]
mov edx, dword [ebp - 0x3a8]
push edx
mov edx, eax
mov ecx, str.down_path
call fcn.00418000
lea ecx, [ebp - 0x304]
call fcn.004065f0
lea ecx, [ebp - 0x534]
mov byte [ebp - 4], bl
call fcn.004015e0
lea ecx, [ebp - 0x2cc]
call fcn.004065f0
lea ecx, [ebp - 0x3a4]
call fcn.00407b10
lea ecx, [ebp - 0x1c]
call fcn.00407af0
lea ecx, [ebp - 0x278]
call fcn.004065f0
lea ecx, [ebp - 0x240]
call fcn.004065f0
jmp 0x4141c9
mov ecx, str.start_down
lea edi, [ebp - 0x294]
call fcn.0041aa00
test al, al
je 0x41523e
push 0x585742
lea ecx, [ebp - 0x304]
call fcn.00406b70
mov edx, dword [ebp - 0x3a8]
push 1
lea ecx, [ebp - 0x3b8]
push ecx
push edx
mov ecx, eax
mov byte [ebp - 4], 0x40
call fcn.00415a60
lea ecx, [ebp - 0x304]
call fcn.004065f0
jmp 0x4141c9
mov ecx, str.start_up
lea edi, [ebp - 0x294]
call fcn.0041aa00
test al, al
je 0x41528d
push 0x585742
lea ecx, [ebp - 0x304]
call fcn.00406b70
mov edx, dword [ebp - 0x3a8]
push 1
lea ecx, [ebp - 0x3b8]
push ecx
push edx
mov ecx, eax
mov byte [ebp - 4], 0x41
call fcn.00416c10
lea ecx, [ebp - 0x304]
call fcn.004065f0
jmp 0x4141c9
mov ecx, str.upload_list
lea edi, [ebp - 0x294]
call fcn.0041aa00
test al, al
je 0x4152d0
push 0x585742
lea ecx, [ebp - 0x304]
call fcn.00406b70
mov ecx, dword [ebp - 0x3a8]
mov byte [ebp - 4], 0x42
call fcn.00417dc0
lea ecx, [ebp - 0x304]
call fcn.004065f0
jmp 0x4141c9
mov ecx, str.stop_down
lea edi, [ebp - 0x294]
call fcn.0041aa00
test al, al
je 0x4152fc
push str.servicecode
lea eax, [ebp - 0x3b8]
push eax
call fcn.004231f0
mov ecx, eax
call fcn.00422b30
mov ecx, str.movie_play
lea edi, [ebp - 0x294]
call fcn.0041aa00
test al, al
je 0x4141c9
push str.file_path
lea ecx, [ebp - 0x3b8]
push ecx
call fcn.004231f0
lea esi, [ebp - 0x25c]
mov ecx, eax
call fcn.00422a60
mov edx, esi
push edx
lea eax, [ebp - 0x240]
push eax
mov byte [ebp - 4], 0x43
call fcn.0041d850
mov dword [ebp - 0x26c], ebx
mov dword [ebp - 0x268], ebx
mov dword [ebp - 0x264], ebx
mov byte [ebp - 4], 0x45
mov eax, dword [ebp - 0x240]
mov esi, 0x10
cmp dword [ebp - 0x22c], esi
jae 0x415374
lea eax, [ebp - 0x240]
lea ecx, [ebp - 0x26c]
push ecx
mov ecx, dword [ebp - 0x230]
push eax
call fcn.0041dfd0
mov edx, dword [ebp - 0x268]
mov eax, dword [ebp - 0x26c]
add esp, 8
sub edx, eax
jne 0x4153a4
push str.invalid_vector_T__subscript
call fcn.00542ea3
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00406b70
mov byte [ebp - 4], 0x46
cmp dword [ebp - 0x2b8], esi
jb 0x4153ca
mov edi, dword [ebp - 0x2cc]
cmp edi, ebx
jne 0x4153d0
xor eax, eax
jmp 0x4153fa
lea edi, [ebp - 0x2cc]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea esi, [eax + 1]
cmp esi, 0x3fffffff
jle 0x4153e6
xor eax, eax
jmp 0x4153fa
lea eax, [esi + esi]
call fcn.0052c650
mov eax, esp
push 3
push esi
push edi
push eax
call fcn.0041be50
push eax
lea ecx, [ebp - 0x3a4]
call fcn.00408190
mov byte [ebp - 4], 0x47
mov eax, dword [ebp - 0x3a4]
push eax
mov esi, eax
call fcn.0041ec10
add esp, 4
test eax, eax
je 0x415426
mov ecx, esi
call fcn.004085f0
lea ecx, [ebp - 0x3a4]
call fcn.00407b10
lea ecx, [ebp - 0x2cc]
call fcn.004065f0
lea esi, [ebp - 0x26c]
call fcn.00419700
lea ecx, [ebp - 0x240]
call fcn.004065f0
lea ecx, [ebp - 0x25c]
call fcn.004065f0
jmp 0x4141c9
mov eax, esi
call fcn.00409270
test eax, eax
jne 0x415485
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
test eax, eax
je 0x415485
cmp dword [eax + 4], 0
je 0x415485
call fcn.0042ecf0
lea edi, [ebp - 0x384]
call fcn.00415510
lea eax, [ebp - 0x3e0]
mov byte [ebp - 4], 2
call fcn.004228e0
mov eax, dword [ebp - 0x3cc]
push eax
call fcn.004302fd
add esp, 4
or eax, 0xffffffff
lea esp, [ebp - 0x5dc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005232d4
mov esp, ebp
pop ebp
ret 8